Richard Bruno
navigation
Home
admin









Grub 2
October 18th, 2016

Table des matières



Plus de Windows après une installation de Centos
Restauration du Grub
Modification de la config
Mettre un mot de passe
Systèmes de fichiers supportés
Modifier le mot de passe de root
Divers


Plus de Windows après une installation de Centos




J'ai installé centos 7 sur une machine qui avait déjà un Windows.
Au reboot, plus de Windows...

Solution 1 :

1/ Exécuter os-prober
Il repère les OS présents sur votre système

2/ Pas de windows ?
il faut surement installer la prise en charge du NTFS :

yum install epel-release


yum install ntfs-3g



3/ Reconstruction du grub :

grub2-mkconfig --output=/boot/grub2/grub.cfg



Solution 2 :

1/ Edition de /etc/grub.d/40_custom :

menuentry "Windows 7" {
set root='(hd0,1)'
chainloader +1
}

2/ Reconstruction du grub :

grub2-mkconfig --output=/boot/grub2/grub.cfg



Restauration du Grub



Procédure par chroot

Source : http://doc.ubuntu-fr.org/tutoriel/comment_restaurer_grub


Procédure par chroot
démarrez sur votre PC avec un live-cd Ubuntu
démontez les partitions contenant vos OS (sinon ils ne seront pas détectés)
lancez un terminal (ou console) et entrez les commandes suivantes:
sudo fdisk -l # pour vous aider à trouver la partition sur laquelle est votre ubuntu
sudo mount /dev/sdaX /mnt # montage de celle-ci en remplaçant le X par le bon numéro de partition
sudo mount --bind /dev /mnt/dev # lien symbolique du dossier /dev en cours d'utilisation vers le disque monté
sudo mount -t proc /proc /mnt/proc # Pour que Grub2 trouve /proc/mounts
sudo mount -o bind /sys /mnt/debian/sys # evite les erreurs du genre (cannot find list of partitions ! try mounting /sys)

Ne pas oublier de monter /boot si une partition spéciale a été créée

sudo chroot /mnt /bin/bash # mise à la racine du disque monté
apt-get install grub-pc # installation du logiciel Grub2 (sur le disque maintenant à la racine)
update-grub # création d'un nouveau fichier de configuration : grub.cfg
grub-install /dev/sda # installation de grub sur le MBR
A partir de là, vous pouvez sortir du disque monté en effectuant ctrl+D. Puis, démontez ce disque :

sudo umount /mnt/dev
sudo umount /mnt/proc
sudo umount /mnt
Redémarrez et vous devriez, à présent, être capable de booter correctement.

( Si cela ne fonctionne toujours pas, posez-vous la question, ai-je touché récemment à mes câbles, disques dur ? , une petite vérification dans le SETUP de l'ordinateur et un Load-Bios-Defaut, peut résoudre le problème )

Si vous avez d'autres systèmes d'exploitation sur d'autres partitions, (comme Windows par exemple), il est possible que ceux-ci n'apparaissent pas dans la liste de choix. Pour rétablir cette liste, il suffit de générer un nouveau fichier de configuration : grub.cfg

Continuer le chargement d'Ubuntu puis dans un terminal :

sudo update-grub
Vous retrouverez alors la liste complète des systèmes d'exploitation au prochain démarrage.



Autre solution
http://sourceforge.net/p/boot-repair/home/Home/

Si on boote avec un live CD 32 bits et que le système installé est 64 bits, le chroot
ne fonctionnera pas (la distrib 32 bits ne peut exécuter le shell 64 bits).
Solution : il faut booter avec un live CD 64 bits.

Erreurs

grub-install
Error - The file /boot/grub/stage1 not read correctly.


Solution :
Source : Ubuntu bug report :
"e2fsprogs ≥ 1.40.5 creates ext3 filesystems with 256 byte large inodes by default (in contrast to 128 byte used before), to accommodate for further ext4 related changes... Using any of these new features requires updating the bootsector of your system. Bootsectors written by "grub or earlier versions of "grub-gfxboot" are not able to boot or even access partitions using any of these new features!"
Vérification :

tune2fs -l /dev/sda1 |grep "Inode size"


Si la taille des inodes est effectivement de 256k, la solution est là : il faut changer la taille des inodes du FS /boot
=> le reconstruire :

mkfs.ext3 -I 128 /dev/sda1 (i majuscule)



Windows puis Ubuntu puis CentOS
PB : CentOS est en grub 1 => lors de son install, il n'est pas capable de gérer ubuntu
Solution : démarre CentOS. Monter les partitions de la Ubuntu (/, /dev, /proc, cf ci-dessus).
Exécuter update-grub, grub-install.
On retrouve alors la ubuntu lors du démarrage suivant.
On la démarre.
Exécuter update-grub, grub-install.
Grub2 et ubuntu sont capables de gérer grub1 => on trouvera la centOS au prochain
démarrage

Modification de la config


Pour modifier le délai pendant lequel le grub attend avant de lancer
le boot de la distrib par défaut, regarder dans /etc/default/grub
puis faire update-grub

Mettre un mot de passe



1/ Générer un mot de passe

$ grub-mkpasswd-pbkdf2 -c 1 -s 2
Enter password:
Reenter password:
Your PBKDF2 is grub.pbkdf2.sha512.1.3EA9.26DDFERCVDSKSIZKEZC3E22F34C9EEAF3D8E86EECC294E14C939006B199B4CEB8F90F0C0AB73439F1DB83D428
$



Note : ca peut être très long...

2/ Modification de /etc/grub.c/41_custom

Rajouter à la fin :

cat << EOF
set superusers="root"
password root grub.pbkdf2.sha512.1.3EA9.26DDFERCVDSKSIZKEZC3E22F34C9EEAF3D8E86EECC294E14C939006B199B4CEB8F90F0C0AB73439F1DB83D428
EOF



3/ Modification de /etc/default/grub
Empêcher l'accès aux outils fournis par le grub (et qui permettent par exemple d'accéder à une console en root)


GRUB_DISABLE_RECOVERY="true"


Source : http://doc.ubuntu-fr.org/grub-pc

4/ Reconfigurer le grub

update-grub



PS : ne pas oublier d'empêcher le boot via clé USB ou DVD...

[
Systèmes de fichiers supportés



grub 2 supporte de nbx systèmes de fichiers :

"Support multiple filesystem types
Support multiple filesystem types transparently, plus a useful explicit blocklist notation. The currently supported filesystem types are Amiga Fast FileSystem (AFFS), AtheOS fs, BeFS, BtrFS (including raid0, raid1, raid10, gzip and lzo), cpio (little- and big-endian bin, odc and newc variants), Linux ext2/ext3/ext4, DOS FAT12/FAT16/FAT32, exFAT, HFS, HFS+, ISO9660 (including Joliet, Rock-ridge and multi-chunk files), JFS, Minix fs (versions 1, 2 and 3), nilfs2, NTFS (including compression), ReiserFS, ROMFS, Amiga Smart FileSystem (SFS), Squash4, tar, UDF, BSD UFS/UFS2, XFS, and ZFS (including lzjb, gzip, zle, mirror, stripe, raidz1/2/3 and encryption in AES-CCM and AES-GCM)."
http://www.gnu.org/software/grub/manual/grub.html


Modifier le mot de passe de root



Si aucun mot de passe n'a été mis en place pour protéger l'édition de grub, modifier le mot de passe root du linux est très simple :

Editer grub
Rajouter "init=/bin/bash" aux options du noyau
Booter. On se retrouve root mais avec un / monté en read only
Remonter le / en rw :

mount -o remount,rw / /


Utiliser la commande passwd pour modifier le mot de passe de root

passwd






Divers


grub 2 = grub-PC
grub 1 = grub legacy 0.97
Source intéressante : http://www.michtoblog.com/2011/02/08/customiser-grub-pc-dans-ubuntu-10-04/


Dernières modifs
Systemd (October 24th, 2020)
TP - rsyslogd (June 20th, 2017)
Gestion de la memoire (June 20th, 2017)
Ansible (November 10th, 2016)
Fichiers et systèmes de fichiers (November 8th, 2016)
X (October 20th, 2016)
Obtenir des informations sur le système (October 19th, 2016)

Contact
Pour m'envoyer un mail,
Pour me laisser un commentaire :
richard.brunooo
chez
gmail.com


powered by kure, modified by Bruno