打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
deepin 与 Windows 双系统硬盘安装方法总结(续)

上一篇文章基本已经总结了相关方法,但其中 deepin 中安装 Windows 部分的方法,只在 UEFI 模式下有效,似乎不太普遍适用。最近想到可以用其他方法来处理此问题。


测试环境

操作系统:deepin 15.11

宿主环境:主要为 VirtualBox 虚拟机,部分为物理机(戴尔笔记本)。

deepin 中安装 Windows(续)

Legacy 模式

将 Windows ISO 文件中的内容复制到 ntfs 分区(主分区,fat32 分区也可以)根目录。稍后系统也将安装在此分区。当然,若担心混淆,可另建分区用来安装系统。

下载 grub4dos,将其中的 grldr 和 menu.lst(可自建)放到 ntfs 分区根目录。这里不再直接用 grub2 引导安装文件,而是通过 grub2 引导 grub4dos(适用于 MBR 分区表),再由 grub4dos 引导安装文件。

在 menu.lst 文件中写入如下内容:

title Windows Installerroot (hdx,y)chainloader /bootmgr

root 定义为 ntfs 分区。其中 x 从 0 开始,y 从 0 开始。

在 /etc/grub.d/40_custom 中添加如下内容:

menuentry "grub4dos" {  insmod part_msdos  insmod ntfs  insmod ntldr        set root=(hdx,y)    ntldr /grldr}

root 定义为 ntfs 分区。其中 x 从 0 开始,y 从 1 开始。

终端执行 sudo update-grub,更新引导项。

重启选择引导项 grub4dos 即可。

修复引导项

如果安装 Windows 后 deepin 引导项丢失,也可以反过来用 grub4dos 引导 grub2。

将 grldr 和 menu.lst 放到 Windows 所在分区根目录。

在 bootice 的 bcd 智能编辑功能中添加一个 grub/linux 引导项,将引导内容从 grldr.mbr 改为 grldr 即可。

在 menu.lst 文件中写入如下内容:

title grub2root (hdx,y)kernel /boot/grub/i386-pc/core.img

root 为 deepin 所在分区。其中 x 从 0 开始,y 从 0 开始。

重启,选择 deepin。进入系统后,终端执行

sudo update-grubsudo grub-install /dev/sda

更新引导项,修复主引导记录。

重启即可看到 grub 中 Windows 的引导菜单了。

收尾工作

最后,记得删除 /etc/grub.d/40_custom 中添加的内容,在终端执行 sudo update-grub,消除引导项。

如果添加了临时分区,记得删除并将空间合并到其他分区。

UEFI 模式

将 Windows ISO 文件中的内容复制到 FAT32 分区(临时分区)根目录。

这里不再直接用 grub2 引导安装文件,而是改用 efibootmgr 来添加 UEFI 引导项。当然了,效果是一样的,这里只是换个思路而已。efibootmgr 在 deepin 中默认已安装 。

sudo efibootmgr -c -w -L “Windows” -d /dev/sda -p 1 -l \\efi\\boot\\bootx64.efi

其中

  • -L 输入引导项的显示名称

  • -d 输入引导项所在磁盘的设备文件名称,例如 /dev/sda、/dev/sdb。

  • -p 输入引导项所在分区的编号,/dev/sda1 用 -p 1,/dev/sda2 用 -p 2。(可以先用 df -h 看下)

  • -l 输入引导项指向的 efi 启动文件在分区上的位置。请注意使用“\\”来表示目录的分级。

重启开机时按 DEL、ESC 等键进入 UEFI BIOS 设置界面,选中刚才添加的引导项确定即可开始安装。

安装后通过重启开机按 DEL、ESC 等键进入 deepin,在终端执行 update-grub 更新 grub2 引导项。这样 grub 菜单中就有 Windows 的引导项了。以后从 Windows 重启可能还是启动 Windows,但关机的话就看到 grub 菜单了。

收尾工作

最后删除刚添加用于安装系统的 UEFI 引导项

efibootmgrsudo efibootmgr -b 0001 -B

其中 0001 是要删除的引导项编号。

删除刚才创建的临时分区,将空间合并到其他分区。

测试结果

当前系统测试系统UEFI 模式Legacy 模式备注
deepinWin 7xUEFI 到 Starting Windows 就不动了
deepinWin 10

其他

突然想起来,Linux 下可能一般用户没办法从 Windows ISO 中复制出文件来。毕竟 Windows 的 ISO 多是 UDF (iso-13346)格式镜像,而 Linux 一般默认为 iso-9660,所以无法直接解压,需要特别的压缩软件才行。

其实可以将 ISO 文件作为 loop 设备挂载到系统目录中,挂载时加入格式参数就可以了。例如,在文件管理器中 ISO 文件所在目录,右键打开终端,用如下命令挂载:

mkdir ./isosudo mount -t udf -o loop filename.iso ./iso

挂载后就可以复制了。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Xorboot
AIO Boot中文版
硬盘安装solaris
windows+deepin 双系统启动
Deepin系统安装教程
多功能启动U盘详细制作教程
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服