Eu tenho uma instalação do CentOS em um pendrive portátil, com uma instalação do grub2 em sua primeira partição. O sistema pode inicializar quando não há discos rígidos internos conectados a uma máquina, mas falha se qualquer disco rígido estiver conectado.
Eu quero que meu sistema operacional, rodando o pendrive, seja montado como / dev / sda, e qualquer outro disco rígido interno seja rotulado de / dev / sdb. Eu estou usando rótulos de partições para mapear meus / boot, / root, / home e / swap. Parece que a unidade interna aparece como sda, então eu me deparo com um kernel panic na inicialização.
lsblk -f
NAME FSTYPE LABEL
sda
|___sda1
sdb
|___sdb1 hfsplus DISK_1
|___sdb2 ext4 USB_root
|___sdb3 ext4 USB_home
|___sdb4 swap USB_swap
Eu tenho regras do udev para unidades internas serem numeradas de / sdb em diante, mas parece que essas regras são aplicadas mais tarde na seqüência de inicialização, portanto o disco interno que deve ser sdb é inicializado como sda.
Meu /boot/grub.conf é o seguinte:
default=0
timeout=5
chainloader +1
#splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title 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.img
Meu usbinitrd foi criado seguindo as instruções em aqui
- É possível inicializar uma unidade USB externa como sda antes de qualquer unidade interna?
- Devo apenas mapear meu dispositivo USB e fazer o grub de configuração para algo como / sdu para que não entre em conflito com a nomenclatura interna da unidade?