在外部驱动器上配置 Linux 内核和 grub

在外部驱动器上配置 Linux 内核和 grub

我正在将系统从旧驱动器移至新驱动器。

我可以从 Live CD/USB 记忆棒启动并在那里安装系统,但由于某些奇怪的原因,BIOS 似乎无法这样做。

那么,如何从旧驱动器更改为新驱动器并在那里安装 GRUB 和 Linux?此外,我想使用 LUKS 和 LVM 设置这个新驱动器。

答案1

对于第一部分,您可以在以下位置找到详细信息:https://wiki.archlinux.org/index.php/Dm-crypt/Encrypting_an_entire_system

它基本上可以归结为:

  • 在 /dev/sdb1 上创建启动分区
  • enc在 /dev/sdb2 上创建 crypt-luks 分区
  • enc_my_lv在 luks 分区之上创建 LVM逻辑卷。
  • 在 上创建 btrfs(或 ext4)enc_my_lv
  • Fsync 系统和用户数据从旧驱动器到enc_my_lv.
  • 编辑 fstab 和 cryptsetup 以适合您的新系统。

现在未涵盖的附加部分是在引导分区上手动安装 Grub 和 Linux:

挂载enc_my_lv到/mnt:

mount /dev/your_vg/enc_my_lv /mnt

将启动挂载到 /mnt/boot 上:

mkdir /mnt/boot
mount /dev/sdb1 /mnt/boot

安装附加设备:

for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done  #(credits: see https://askubuntu.com/a/88432/232047)

Chroot 到 /mnt 并运行配置:

chroot /mnt
dpkg -l | grep linux-image-.*-generic | sort -k3 | tail -n1 | awk '{system ("sudo apt-get install --reinstall " $2)}' #Reinstall Linux kernel packages there (credits: see https://askubuntu.com/a/298855/232047)
update-initramfs -u
grub-install /dev/sdb
update-grub

相关内容