Fixing device names under new ATA subsystem
From ArchWiki
As each name is determined by the bios, and bioses differ, the new names, if they have been changed, must be identified:
- If you have a usb keyboard, ensure the usbinput hook is loaded
- When booting, just append break=y to the boot options. Both lilo and grub can do this interactively. For default styled bootloaders:
- Grub: Select the entry you want to modify, hit e, select the line to modify, and edit it.
- Lilo: Just select the entry, hit space, and add break=y by simply typing it in.
- Boot. You will get dumped to a terminal, run:
echo /dev/sd*
echo /dev/hd*
- From the output of the above, determine the new names for your drive and partition, edit your bootloader to reflect this. Either edit it permanently from a liveCD, or interactively as above, and fix it permanently when you boot.
- Note that SCSI devices may only have a maximum of 15 partitions while IDE can have 63. If you have over 15 partitions for a good reason you'll need to find a solution before you upgrade.
- Boot. When you boot, you may end up in single user mode as partitions could not be mounted in fstab. Do:
mount / -o remount,rw
Then edit your fstab to reflect the new names. If you did not permanently update your bootloader, then correct it too.
Note: Persistent block device naming provides a different approach to this issue. This method should actually be preferred