我有双启动的 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
- 插入您的 Ubuntu LiveDVD / USB。
- 开机使用后
try Ubuntu
- 当实时系统启动时
- 使用打开终端
CTRL + ALT + T
- 然后输入
sudo grub-update
- 然后输入
sudo grub-install
就是这样 !
更新 1
大多数情况下,在实时环境中使用时会出现错误sudo grub-install
,因此请执行以下步骤(在实时环境中也是如此):
附言:在从 Windows CMD 或 RUN 类型执行此操作之前,请确保已完全关闭 Windows shutdown /r /t 0
。
打开终端(CTRL + ALT + T)。
通过将 # 替换为您的 Ubuntu 分区来挂载 Ubuntu
sudo mount /dev/sd# /mnt
分区,例如。sudo mount /dev/sda2 /mnt
挂载启动分区
sudo mount /dev/sd# /mnt/boot
将#替换为启动分区,大多数情况下启动分区是“sda1”最后用
sudo grub-install --root-directory=/mnt /dev/sdX
你想要安装 grub 的磁盘顺序替换 X ,如果你使用单个硬盘,它将是sda
现在已经完成了Update 2
更新 2(也可用于 grub 救援)
成功安装 grubUpdate 1
并重新启动后,您将看到 grub 命令行屏幕,请执行以下命令:
输入后
ls
你将得到类似这样的分区:(hd0)(hd0,msdos4)(hd0,msdos3)(hd0,msdos2)(hd0,msdos1)输入
ls (hd0,X)
替换 X 的数字,你将得到未知的文件系统,一直重复直到得到file system ext2
我们的目标为止获取目标分区类型后,
set root=(hd0,X)
用目标分区号替换 X然后
set prefix=(hd0,X)/boot/grub
(对于 x32 位,适用于 i386 和 i686 系统)类型
insmod /boot/grub/i386-pc/linux.mod
(对于 x64 位系统,也请执行步骤 5,如果未找到,请执行此操作)输入
/boot/grub/linux.mod
(如果步骤 6 不起作用)键入
ls /boot/grub
查看目录和文件,检查每个文件夹以查找linux.mod
文件,然后使用修改后的路径执行步骤 6。输入后
normal
你会发现你的 grub 引导加载程序可以正常启动到 Ubuntu从 Ubuntu 终端类型
sudo update-grub
然后
sudo grub-install /dev/sdX
用设备替换X,大部分情况下是sda
全做完了 ! 。