I'm installing Debian Stretch on an Intel Nuc NUC6CAYH with a 60GB Silicon Power SSD (SP060GBSS3S60S25AE). The only deviation from the default installation I am making is to not install a DE and to install the SSH server. No LVM, no encryption, all on one partition. Each time I install, I set up a new partition table on the SSD, and let the installer handle the partitioning. After installation, on first boot, grub loads, and then I get this output:
Code: Select all
[ 6.6640371] ata1.00: failed to set xfermode (err_mask=0x40)
Gave up waiting for root file system device. Common problems:
- Boot args (cat /proc/cmdline)
- Check rootdelay= (did the system wait long enough?)
- Missing modules (cat /proc/modules; ls /dev)
ALERT! /dev/sdb2 does not exist. Dropping to a shell!
BusyBox v1.22.1 (Debian 1:1.22.0-19+b3) built-in shell (ash)
Enter 'help' for a list of built-in commands.
(initramfs)
During installation, the install USB drive is sda and the SSD is sdb. It seems grub is expecting to boot from the SSD which it thinks is still sdb, but since the USB drive has been removed is now sda. I've tried installing with both UEFI and BIOS. I've tried installing with the netinstall iso and the DVD iso with non-free firmware using several USB drives. The system found the grub entry on the SSD. How is it possible that Debian is hardcoding the location of the root file system using sda and sdb identifiers which are assigned randomly? If this is how Debian worked, I would expect this to be an EXTREMELY common issue, but it isn't so it makes me think it is either user error or a hardware issue. The only weird thing I've done is I recently update the BIOS firmware to the latest version, but it completed successfully, so probably not the issue?
I can edit the grub entry, replacing mentions of "sdb" with "sda" and this will allow the system to boot, but this doesn't seem like a long-term solution..
Any help would be appreciated!