o seu problema é root=/dev/sda2
porque está montando por device name
, o que é não exclusivo . Se você tiver apenas uma unidade instalada, normalmente isso sempre será exibido como /dev/sda
, portanto, não há problema. Mas instale um segundo disco ou qualquer outra coisa além disso que apareça como /dev/sd?
então não há garantia da ordem de nada e muitas vezes o que foi sda
é movido para baixo para sdb
... pode se tornar confuso e rápido falhar.
É melhor montar via por device-id ou by-uuid , que será único.
Abaixo de /dev/disk/
, você verá pastas como
- by-id /
- por rótulo /
- por caminho /
- by-uuid /
E, por exemplo, em by-id/
, você verá links como
aqui está meu /etc/fstab
que monta by device-id
para ter uma ideia, removi linhas extras para mantê-lo no ponto. E eu uso o EFI não o GRUB, mas o princípio é o mesmo mais elaborado com o Grub {a grande parte do grande gerenciador de inicialização unificado}:
/dev/disk/by-id/scsi-35000cca070168a20-part2 / ext3 acl,user_xattr 1 1
/dev/disk/by-id/scsi-35000cca070168a20-part1 /boot/efi vfat umask=0002,utf8=true 0 0
/dev/disk/by-id/scsi-36003048018e26e011d81ba1714e4c99f-part1 /data xfs defaults 1 0
/dev/disk/by-id/scsi-36003048018fa44011d57b61bbe1b8533-part1 /scratch xfs defaults 1 0
/dev/disk/by-id/scsi-36003048018e266011d81ba7e1afeadf6-part1 /bkup xfs defaults 1 2
Nota: isso é o que vejo no SLES 11.4. E enquanto eu uso o EFI, você precisa encontrar os itens específicos dentro do GRUB ou do GRUB2 e modificar. Por exemplo, aqui está o meu arquivo /boot/efi/efi/SuSE/elilo.conf
, observe a parte root=
. O que corresponde a isso no seu GRUB que você deseja modificar para ser by device-id
ou by uuid
. e não se esqueça de modificar /etc/fstab
para ser por um método único também by-id
ou by-uuid
.
# This file has been transformed by /sbin/elilo.
# Please do NOT edit here -- edit /etc/elilo.conf instead!
# Otherwise your changes will be lost e.g. during kernel-update.
#
# Modified by YaST2. Last modification on Mon Oct 15 11:04:42 EDT 2018
timeout = 80
##YaST - boot_efilabel = "SUSE Linux Enterprise Server 11 SP4"
default = SLES11_SP4_16
prompt
image = vmlinuz-3.0.101-108.77-default
###Don't change this comment - YaST2 identifier: Original name: linux###
label = SLES11_SP4_16
append = "splash=verbose showopts "
initrd = initrd-3.0.101-108.77-default
root = /dev/disk/by-id/scsi-35000cca070168a20-part2
image = vmlinuz-3.0.101-108.77-default
###Don't change this comment - YaST2 identifier: Original name: failsafe###
label = Failsafe_15
append = "showopts ide=nodma apm=off noresume edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 nomodeset x11failsafe "
description = "Failsafe (3.0.101-108.77-default)"
initrd = initrd-3.0.101-108.77-default
root = /dev/disk/by-id/scsi-35000cca070168a20-part2
Você NÃO deseja boot=/dev/sd?
ou root=/dev/sd?
em qualquer lugar, onde ?
é qualquer letra. Referência do disco em /dev/disk/by-id
ou /dev/disk/by-uuid
; você pode até mesmo usar by-label
, desde que você defina rótulos de partições e confie neles como únicos.