Bru*_*e B 5 boot grub2 ssd dual-boot hard-drive
不久前,我在 SSD sdb1 上安装了 Linux。我的主目录 sdc1 也有一个 1 TB 的驱动器。我在另一个硬盘驱动器 sda1 上安装了 Windows,我已经 2 年多没有启动它了。它的大小为 TB。我想摆脱 Windows 并在不重新安装 Linux 的情况下利用额外的空间,但 Grub 位于 Windows 硬盘驱动器 sda1 上。如果可能的话,我想做的是将 Grub 放到我的 SSD sdb1 上,以便格式化 Windows 驱动器 sda1 并有额外的空间。它是计算机上的 Legacy BIOS。
我已经用我的虚拟实用计算机完成了一个试验,一个硬盘和一个 ssd。
我假设您已经在 UEFI 启动模式下安装了 Windows,硬盘上的分区类型为 gpt。斯达。
由于我的是一台虚拟实用的计算机,我不需要担心备份。我建议你备份。
我没有考虑将 sdc 用于单独的主分区,因为我没有其他可用的驱动器。
过程:
使用 Ubuntu 的实时会话登录。
这是我的 sda-1tb hdd 和 sdb-120gb ssd。
我在 sda 上有 windows10,在 sdb 上有 Ubuntu18.04.1。Grub 在 sda 上。
您可以看到 windows10 安装在设备 sda 中,sda2 上带有 EFI 分区。这就是现在控制 grub 的原因。
重要提示:此分区 sda2 的 UUID 与设备 sdb 上的文件 /etc/fstab 中的文本匹配。
因为我们要格式化sda。我们需要在 sdb 上创建 EFI 系统分区。sdb 只有一个分区 sdb1。我们必须在磁盘的开头创建一个 EFI 分区。
现在我们在磁盘 sdb 开始时获得了 100mb 的未分配空间。为了在这个上安装 grub,我们需要它以 FAT32 格式使用引导和 esp 标志。
在这里,如果您观察到,我们在磁盘的开头创建了 100mb EFI 分区。应该命名为 sdb1。但 gparted 仍将其显示为 sdb2。整理这次
跑步sudo sgdisk -s /dev/sdb
现在删除 sda 上的 EFI 分区 (sda2),或者您可以格式化整个设备 sda。
现在我们需要在 /dev/sdb 上安装 grub。
程序:
sudo mount /dev/sdb2 /mnt # 挂载根分区。(sdb2是ext4/) for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; donesudo mount /dev/sdb1 /mnt/boot/efi # sdb1 是 sdb 上的 EFI 分区。 sudo chroot /mnt update-grub grub-install /dev/sdb update-grub exit 现在我们需要知道设备 sdb 上新创建的 EFI 分区 (sdb1) 的 UUID。
打开“磁盘”应用程序。
复制 sdb1 的 UUID。
打开 fstab 文件。
sudo nano /mnt/etc/fstab. (注意:我用过gedit,下面的图片是gedit)。
将 UUID 粘贴到仪式地点。
保存并关闭。
现在重新启动。
| 归档时间: |
|
| 查看次数: |
2979 次 |
| 最近记录: |