On 25/06/2016 20:33, Helmut Jarausch wrote: > Hi, > > I'm a dino since I still use grub-1 but I prefer recent kernels > (currently 4.70-rc4) > > I don't understand the 'root=' option on the boot line like > kernel /boot/vmlinuz-4.7.0-rc4 root=/dev/sda1 > > Here my bad experience: > > Having booted by SystemRescueCD from the cdrom device, my root device is > labelled /dev/sda1 > BUT trying to use that on the kernel boot line fails (the kernel cannot > find the root file system) > > By trial and error I've found that I have to use root=/dev/sdb1 > > but if I plug in an external drive (via USB) this doesn't work any more. > > So, I came up with root=UUID=uuid_number of the root file system. > > But to my surprise I now got a kernel panic > syncing: VFS: unable to mount root fs on unknown block(0,0) > > So, please tell me what I'm missing? > > Many thanks!!! > Helmut > >
I've run into this with my last 3 laptops. grub, systemrescue and most other things that run before my kernel is booted usually find the SSD as the first drive (what a running kernel would call sda), and the spinning rust is sdb. When the kernel eventually boots and does device discovery, it decides the spinning rust is the primary drive (sdb) - the opposite way around. So why does this happen? screwed if I know, BUT, the the kernel has never guaranteed it will always find and enumerate devices the same way every time always. This might account for why SystemRescueCD and your installed system do opposite things[1]. We don't know *why* it's sdb, but we know at grub time that it is. SO use whatever that software thinks the thing is called :-) [1] It's also one of the reasons persistent device naming came into udev, to try guarantee the same device will always have the same name -- Alan McKinnon [email protected]

