USB 플래시 드라이브에 백업된 Arch Linux에서 Grub을 재구성하는 방법

USB 플래시 드라이브에 백업된 Arch Linux에서 Grub을 재구성하는 방법

rsync를 통해 아치 리눅스를 백업했습니다.

# 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에서 발견되었습니다)

아치 리눅스 위키에서는 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를 제거해야 합니다. 어떤 도움이라도 대단히 감사하겠습니다.

관련 정보