Comment déplacez-vous complètement Grub vers une nouvelle partition? Lorsque j'ai installé Ubuntu (Kubuntu), je n'ai alloué que 256 Mo à la partition /boot
, ce qui ne semble pas être suffisant. Chaque fois qu'un nouveau noyau est installé, l'installation échoue à mi-parcours car l'espace disponible est insuffisant, je dois donc intervenir manuellement. J'essaie donc de déplacer grub de mon ancienne partition de démarrage, /dev/sdb5
, vers ma nouvelle partition de 512 MiB, /dev/sdb7
.
J'ai édité /etc/fstab
pour indiquer l'utilisation de la nouvelle partition de démarrage.
# /boot was on /dev/sdb5 during installation
#UUID=f1fcbfbe-7943-4e48-9796-8d0c42076c0b /boot ext4 defaults 0 2
# /boot is now on /dev/sdb7
UUID=70d8be3a-6b6c-4722-ab0d-e79d93e6dd1c /boot ext4 defaults 0 2
J'ai démonté /boot/efi
(/dev/sdb2
) et /boot
(/dev/sdb5
). Et ensuite monté /dev/sdb7
en tant que /boot
, remonté /boot/efi
et remonté /dev/sdb5
en tant que /mnt/boot
.
Iran:
$ Sudo grub-install /dev/sdb7
Installing for x86_64-efi platform.
Installation finished. No error reported.
Et:
$ Sudo update-grub
Generating grub configuration file ...
Found Windows Boot Manager on /dev/sdb2@/EFI/Microsoft/Boot/bootmgfw.efi
Adding boot menu entry for EFI firmware configuration
done
Cependant, l'image Linux manque dans /boot
:
$ ls -1 /boot
efi
grub
lost+found
Alors que l'ancien /boot
a:
$ ls -1 /mnt/boot/
abi-4.15.0-32-generic
abi-4.15.0-33-generic
config-4.15.0-32-generic
config-4.15.0-33-generic
efi
grub
initrd.img-4.15.0-33-generic
lost+found
memtest86+.bin
memtest86+.elf
memtest86+_multiboot.bin
retpoline-4.15.0-32-generic
retpoline-4.15.0-33-generic
System.map-4.15.0-32-generic
System.map-4.15.0-33-generic
vmlinuz-4.15.0-33-generic
Je dois manquer une étape. Quel est le processus approprié pour faire cela? Existe-t-il une commande qui me manque pour reconstruire l'image Linux?
REMARQUE: La raison pour laquelle je souhaite que /boot
soit une partition distincte de /
est parce que /
est une partition ext4 chiffrée par LUKS.
Sortie de Sudo fdisk -l
:
Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: CFE364AE-6B98-4A85-BE10-7E8A8833426F
Device Start End Sectors Size Type
/dev/sda1 2048 976762879 976760832 465.8G Microsoft basic data
/dev/sda2 976762880 977287167 524288 256M Linux filesystem
Disk /dev/sdb: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 1AB601E6-CACA-4A3F-828A-A334CC3564DF
Device Start End Sectors Size Type
/dev/sdb1 2048 923647 921600 450M Windows recovery environment
/dev/sdb2 923648 1128447 204800 100M EFI System
/dev/sdb3 1128448 1161215 32768 16M Microsoft reserved
/dev/sdb4 1161216 1534093311 1532932096 731G Microsoft basic data
/dev/sdb5 1534093312 1534617599 524288 256M Linux filesystem
/dev/sdb6 1534617600 1952475135 417857536 199.3G Linux filesystem
/dev/sdb7 1952475136 1953523711 1048576 512M Linux filesystem
Disk /dev/mapper/sdb6_crypt: 199.3 GiB, 213940961280 bytes, 417853440 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Sortie de lsblk -lf
:
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
sda1 ntfs Extra Disk 54186D8E186D7042
sda2 ext4 fae6b821-6644-4883-a2f1-da5c42485431
sdb
sdb1 ntfs Recovery 44F21BC7F21BBC5C
sdb2 vfat 941C-5A1E /boot/efi
sdb3
sdb4 ntfs 6C32289F3228706E
sdb5 ext4 Linux Boot Old f1fcbfbe-7943-4e48-9796-8d0c42076c0b /boot
sdb6 crypto_LUKS b2d73541-783b-4336-a62c-1e11d0cc2b47
sdb7 ext4 Linux Boot 70d8be3a-6b6c-4722-ab0d-e79d93e6dd1c
sr0
sdb6_crypt ext4 Linux Root 1e8b2b29-1857-4b38-84ee-d3c386f5085e /
Je pourrais y arriver en le faisant de la manière suivante.
Ci-dessous, la vue des lignes de commande lorsque j'ai changé la partition /boot
de sda7 à sda9
kubuntu@kubuntu:~$ Sudo blkid
/dev/sda2: UUID="BCB3-3DA0" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="e5db3aba-af70-4112-8858-1aff620887a0"
/dev/sda3: UUID="F2B6E7A8B6E76C13" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="02c16852-6715-42db-ac16-c9007d86934a"
/dev/sda4: UUID="2d2846e3-4382-4dec-bad3-ec27c9f3311d" TYPE="ext4" PARTUUID="67dd28fb-4a80-4deb-aa25-8f1b93f1a4ba"
/dev/sda5: LABEL="SAS DI" UUID="605EEA015EE9D038" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="82da16ec-8c57-41b8-9f8b-e2d2bdc3b183"
/dev/sda6: LABEL="MADURI" UUID="C4F8CC63F8CC54F8" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="6c75ef1c-376c-4ede-9072-3a888b0bf94d"
/dev/sda7: UUID="4eab37c8-7d22-4580-b53e-47e8768318c8" TYPE="ext4" PARTUUID="8d49090a-7495-4f10-a83d-3e4f4abca525"
/dev/sda8: UUID="e569a993-a701-4b1f-acc1-ba0e862ba0de" TYPE="ext4" PARTLABEL="Kubuntu 18.04" PARTUUID="af772c38-570b-4e9b-a5ce-ca26b28bec1a"
/dev/sda9: UUID="360b1c4c-b6f8-49fd-93e2-c9c086e95e4c" TYPE="ext4" PARTUUID="3327a153-0c8a-46c1-a23d-ef4774564875"
/dev/loop0: TYPE="squashfs"
/dev/sda1: PARTLABEL="Microsoft reserved partition" PARTUUID="c2ca0fe9-67db-468a-bf0f-8d9ce78cf129"
/dev/sdb1: UUID="2018-07-25-03-28-48-00" LABEL="Kubuntu 18.04.1 LTS AMD64" TYPE="iso9660" PTUUID="418c5dc0" PTTYPE="dos" PARTUUID="418c5dc0-01"
/dev/sdb2: SEC_TYPE="msdos" UUID="0D5F-1DB6" TYPE="vfat" PARTUUID="418c5dc0-02"
kubuntu@kubuntu:~$ Sudo mount /dev/sda8 /mnt
kubuntu@kubuntu:~$ Sudo mount /dev/sda9 /mnt/boot
kubuntu@kubuntu:~$ Sudo chroot /mnt
root@kubuntu:/# Sudo nano /etc/fstab
Sudo: unable to resolve Host kubuntu: Resource temporarily unavailable
root@kubuntu:/# exit
exit
kubuntu@kubuntu:~$ Sudo mkdir /mnt/home/OBP
kubuntu@kubuntu:~$ Sudo mount /dev/sda7 /mnt/home/OBP
kubuntu@kubuntu:~$ Sudo cp -r /mnt/home/OBP/* /mnt/boot/
kubuntu@kubuntu:~$ Sudo mount /dev/sda2 /mnt/boot/efi
kubuntu@kubuntu:~$ for i in /sys /proc /dev /run; do Sudo mount --bind "$i" "/mnt$i"; done
kubuntu@kubuntu:~$ Sudo chroot /mnt
root@kubuntu:/# update-grub
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.15.0-29-generic
Found initrd image: /boot/initrd.img-4.15.0-29-generic
grub-probe: error: cannot find a GRUB drive for /dev/sdb1. Check your device.map.
Found Windows Boot Manager on /dev/sda2@/EFI/Microsoft/Boot/bootmgfw.efi
Found Ubuntu 18.10 (18.10) on /dev/sda4
Adding boot menu entry for EFI firmware configuration
done
root@kubuntu:/# grub-install /dev/sda
Installing for x86_64-efi platform.
Installation finished. No error reported.
root@kubuntu:/# update-grub
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.15.0-29-generic
Found initrd image: /boot/initrd.img-4.15.0-29-generic
grub-probe: error: cannot find a GRUB drive for /dev/sdb1. Check your device.map.
Found Windows Boot Manager on /dev/sda2@/EFI/Microsoft/Boot/bootmgfw.efi
Found Ubuntu 18.10 (18.10) on /dev/sda4
Adding boot menu entry for EFI firmware configuration
done
root@kubuntu:/# ls -1 /boot
abi-4.15.0-29-generic
config-4.15.0-29-generic
efi
grub
initrd.img-4.15.0-29-generic
lost+found
memtest86+.bin
memtest86+.elf
memtest86+_multiboot.bin
retpoline-4.15.0-29-generic
System.map-4.15.0-29-generic
vmlinuz-4.15.0-29-generic
root@kubuntu:/# lsblk -lf
NAME FSTYPE LABEL UUID MOUNTPOINT
loop0 squashfs
sda
sda1
sda2 vfat BCB3-3DA0 /boot/efi
sda3 ntfs F2B6E7A8B6E76C13
sda4 ext4 2d2846e3-4382-4dec-bad3-ec27c9f3311d
sda5 ntfs SAS DI 605EEA015EE9D038
sda6 ntfs MADURI C4F8CC63F8CC54F8
sda7 ext4 4eab37c8-7d22-4580-b53e-47e8768318c8 /home/OBP
sda8 ext4 e569a993-a701-4b1f-acc1-ba0e862ba0de /
sda9 ext4 360b1c4c-b6f8-49fd-93e2-c9c086e95e4c /boot
sdb iso9660 Kubuntu 18.04.1 LTS AMD64 2018-07-25-03-28-48-00
sdb1 iso9660 Kubuntu 18.04.1 LTS AMD64 2018-07-25-03-28-48-00
sdb2 vfat Kubuntu 18.04.1 LTS AMD64 0D5F-1DB6
sr0
root@kubuntu:/# exit
exit
kubuntu@kubuntu:~$ shutdown now
Ce qu'il faut savoir avant de vous connecter à la session "Try Kubuntu".
/dev/sda8
./dev/sda2
./boot
ancienne partition; dans mon cas, il s'agit de /dev/sda7
./boot
; dans mon cas, il s'agit de /dev/sda9
.Je vais changer ma partition de démarrage de sda7 à sda9
Connectez-vous avec Kubuntu 18.04 "Essayez Kubuntu".
Ouvrez Konsole et lancez la commande
Sudo blkid
et copiez l'UUID de la partition qui sera la nouvelle partition/boot sda9
Sudo mount /dev/sda8 /mnt
# partition de montage
Sudo mount /dev/sda9 /mnt/boot
# montage de la nouvelle partition/boot
Sudo chroot /mnt
nano /etc/fstab
# ouvre le fichier fstabFaites défiler manuellement jusqu'à la partie UUID de /boot
dans le fichier /etc/fstab
à l'aide des touches de direction.
Collez l'UUID copié (à partir de l'étape 1) en supprimant l'UUID de l'ancienne partition de démarrage.
Pour enregistrer le fichier, appuyez sur Ctrl+X, Y et Enter
exit
# exit from chrootAvant de monter la partition /boot/efi
, nous devons copier les données de l'ancienne partition de démarrage sur la nouvelle partition de démarrage.
Sudo mkdir /mnt/home/OBP
# création du dossier pour le montage de l'ancienne partition de démarrageSudo mount /dev/sda7 /mnt/home/OBP
# Ancien montage de partition de démarrageSudo cp -r /mnt/home/OBP/* /mnt/boot/
Sudo mount /dev/sda2 /mnt/boot/efi
for i in /sys /proc /dev /run; do Sudo mount --bind "$i" "/mnt$i"; done
Sudo chroot /mnt
update-grub
grub-install /dev/sda
update-grub
exit
name__shutdown now
Redémarrez le système et vous pouvez maintenant supprimer l'ancienne partition de démarrage.
/boot
et 200 Go pour /
Vous avez beaucoup d’espace mais le répertoire /boot
est "espace restreint". Je suggérerais de déplacer /boot
de sdb5
vers /
sur sdb6
.
Votre plan actuel consistant à déplacer /boot
vers la nouvelle partition sdb7
qui ne contient que 512 Mo semble limité. Parfois, mon /boot
peut représenter plusieurs Go si je teste plusieurs noyaux.
/boot
en /
Il y a déjà une réponse ici :
Oui c'est possible. Aussi ce n'est pas facile. Si vous souhaitez déplacer une partition/boot séparée et/ou une partition/séparée, vous devriez commencer par changer les entrées de fstab.
Si vous déplacez les fichiers vers une nouvelle partition, n'oubliez pas d'utiliser cp -p
lors de la copie pour conserver les autorisations. ajustez ensuite votre /etc/fstab
au nouvel UUID des partitions que vous utiliserez. Vous pouvez obtenir la partition en exécutant blkid /dev/sdXn
où X est le nom du lecteur et le numéro n de la partition.
Vous pouvez également utiliser blkid pour attacher des étiquettes à vos partitions, puis monter via des étiquettes, ce qui facilite grandement la lecture de man blkid
pour en savoir plus.
Après avoir modifié les partitions et ajusté/etc/fstab, vous devez exécuter le update-grub
- disponible dans le script Debian/Ubuntu ou le grub-mkconfig -o /boot/grub/grub.cfg
pour générer un nouveau fichier de configuration, puis réinstaller grub dans le premier disque dur à partir duquel vous avez boté. grub-install --recheck /dev/sdb
Bien sûr, n'oubliez pas que lors de la copie, montez une nouvelle partition///boot sur/mnt et après avoir copié tous les fichiers, montez-les en tant que/et/boot chroot et n'exécutez la mise à jour du grub que si vous voulez que les choses soient faites correctement .
Donc, je suppose que vous devez simplement déplacer/copier tous les fichiers du noyau de l’ancien répertoire vers le nouveau et mettre à jour grub. Essayez: Sudo cp /mnt/boot/* /boot && Sudo update-grub