USBフラッシュドライブにバックアップされたArch LinuxでGrubを再構成する方法

USBフラッシュドライブにバックアップされたArch LinuxでGrubを再構成する方法

rsyncを介してArch Linuxをバックアップしました。

# rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} / /run/media/username/archlinux

Fstab 編集:

#
# /etc/fstab: static file system information
#
# <file system> <dir>   <type>  <options>       <dump>  <pass>
# /dev/sda3
UUID=d2b779b2-b2b1-48d6-8493-6468f99a0a21       /               ext4            rw,relatime,data=ordered        0 1

# /dev/sda6
UUID=be9152a7-3178-44ba-b3d8-0448e9dd4c80       /boot           ext4            rw,relatime,data=ordered        0 2

# /dev/sda5
UUID=5b2ce0ad-9d59-4023-8ca6-f6a6bbdd59e7       none            swap            defaults        0 0

>

#
# /etc/fstab: static file system information
#
# <file system> <dir>   <type>  <options>       <dump>  <pass>
# /dev/sda3
UUID=The UUID of the USB drive       /               ext4            rw,relatime,data=ordered        0 1

次に、grub-mkconfig を使用して grub 構成を再生成します。

sudo grub-mkconfig -o /run/media/username/archlinux/boot/grub/grub.cfg

次を返します。

Generating grub configuration file ...
Found linux image: /boot/vmlinuz-linux
Found initrd image: /boot/initramfs-linux.img
Found fallback initramfs image: /boot/initramfs-linux-fallback.img
Found Windows 10 (loader) on /dev/sda1
Found Arch on /dev/sdb1
done

しかし、/boot/grub/grub.cfgのUUIDは、私のbakcupではなく、元のパーティションのUUIDです。 grubが私のUSBスティックでアーチのインストールを見つけたようですが(アーチは/ dev / sdb1で見つかりました)

Arch Linux Wikiではmkinitcpioを使用することをお勧めします。

# mkdir /mnt/arch
# mount /dev/sdb3 /mnt/arch
# cd /mnt/arch
# mount -t proc proc proc/
# mount --rbind /sys sys/
# mount --rbind /dev dev/
# chroot /mnt/arch /bin/bash
# mkinitcpio -p linux

ただし、UUIDはまだ同じです。私はこれを何度も実行しましたが、同じ結果を得ました。 USBから起動すると、grubもロードされず、USBにインストールされているgrubではなく元のgrubに直接移動します。他のUSBでは背面画面が表示されるため、ハードドライブに取り付けられているGrubを見るにはUSBを取り外す必要があります。どんな助けでも大変感謝します。

関連情報