更新 1

更新 1

我有双启动的 Windows 7 和 Ubuntu 16.04,现在我需要将 Windows 7 升级到 8.1,具体来说,我想要一个“全新安装,格式化 win 7 分区,然后安装 win 8.1”,那么该怎么做呢?我认为这不会影响 Ubuntu 分区,但会影响 (GRUB),那么如何从 Windows 安装 grub 呢?

我通常在获得 GRUB 救援时使用一些 GRUB 命令,然后在从 Ubuntu 启动时使用以下命令:

sudo grub-update然后sudo grub-install /dev/sda

答案1

  1. 插入您的 Ubuntu LiveDVD / USB。
  2. 开机使用后try Ubuntu
  3. 当实时系统启动时
  4. 使用打开终端CTRL + ALT + T
  5. 然后输入sudo grub-update
  6. 然后输入sudo grub-install

就是这样 !

更新 1

大多数情况下,在实时环境中使用时会出现错误sudo grub-install,因此请执行以下步骤(在实时环境中也是如此):

附言:在从 Windows CMD 或 RUN 类型执行此操作之前,请确保已完全关闭 Windows shutdown /r /t 0

  1. 打开终端(CTRL + ALT + T)。

  2. 通过将 # 替换为您的 Ubuntu 分区来挂载 Ubuntusudo mount /dev/sd# /mnt分区,例如。sudo mount /dev/sda2 /mnt

  3. 挂载启动分区sudo mount /dev/sd# /mnt/boot将#替换为启动分区,大多数情况下启动分区是“sda1”

  4. 最后用sudo grub-install --root-directory=/mnt /dev/sdX你想要安装 grub 的磁盘顺序替换 X ,如果你使用单个硬盘,它将是sda

现在已经完成了Update 2

更新 2(也可用于 grub 救援)

成功安装 grubUpdate 1并重新启动后,您将看到 grub 命令行屏幕,请执行以下命令:

  1. 输入后ls你将得到类似这样的分区:(hd0)(hd0,msdos4)(hd0,msdos3)(hd0,msdos2)(hd0,msdos1)

  2. 输入ls (hd0,X)替换 X 的数字,你将得到未知的文件系统,一直重复直到得到file system ext2我们的目标为止

  3. 获取目标分区类型后,set root=(hd0,X)用目标分区号替换 X

  4. 然后set prefix=(hd0,X)/boot/grub

  5. (对于 x32 位,适用于 i386 和 i686 系统)类型insmod /boot/grub/i386-pc/linux.mod

  6. (对于 x64 位系统,也请执行步骤 5,如果未找到,请执行此操作)输入/boot/grub/linux.mod

  7. (如果步骤 6 不起作用)键入ls /boot/grub查看目录和文件,检查每个文件夹以查找linux.mod文件,然后使用修改后的路径执行步骤 6。

  8. 输入后normal你会发现你的 grub 引导加载程序可以正常启动到 Ubuntu

  9. 从 Ubuntu 终端类型sudo update-grub

  10. 然后sudo grub-install /dev/sdX用设备替换X,大部分情况下是sda

全做完了 ! 。

相关内容