I have a CentOS installation on a portable USB stick, with a grub2 installation on it's first partition. The system can boot when there are no internal hard drives plugged into a machine, but fails if any hard drive is plugged in.I want my OS, running off the USB stick, to be mounted as /dev/sda, and any other internal hard drives to be labelled from /dev/sdb. I am using partition labels to map to my /boot, /root, /home and /swap. It seems the internal drive appears as sda, so I run into a kernel panic on boot.lsblk -fNAME    FSTYPE  LABELsda|___sda1sdb|___sdb1 hfsplus DISK_1|___sdb2 ext4    USB_root|___sdb3 ext4    USB_home|___sdb4 swap    USB_swap I have udev rules for internal drives to be numbered from /sdb onwards, but it appears that these rules are applied later in the boot sequence, so the internal disk which should be sdb is initialised as sda. My /boot/grub.conf is as follows:default=0timeout=5chainloader +1#splashimage=(hd0,0)/grub/splash.xpm.gzhiddenmenutitle CentOS (3.10.65-1.el6.elrepo.x86_64)    #root (hd0,0)    search --set --label USB_boot       kernel /vmlinuz-3.10.65-1.el6.elrepo.x86_64 ro root=LABEL=USB_root nomodeset rd_NO_LUKS  KEYBOARDTYPE=pc KEYTABLE=uk LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_NO_LVM rd_NO_DM rootdelay=8    initrd /usbinitrd-3.10.65-1.el6.elrepo.x86_64.imgMy usbinitrd was created following the instructions on hereIs it possible to have an external USB drive boot initialise as sda before any internal drives?Should I just map my USB device and grub config to something like /sdu so it does not conflict with internal drive naming?
Initialise USB devices before hard disks during grub2 boot
linux;centos;grub2;live usb