|
本帖最后由 dos时代菜鸟 于 2018-6-22 15:44 编辑
这个想法完全是突发的,因为我很久没有 看论坛学习,这几天 看到一个 关于 gpt 上 bios-boot-partition 的信息,想到的,
有人说 legacy 下的硬盘 都不大,没必要弄成 gpt ,可是 我还是被 gpt 的优势所吸引,无奈 本人电脑是古董,不知道 我下面的 “招数” 对于 legacy 下操作 大于2T 的 gpt硬盘会是啥结果。
掣肘的地方: legacy的 bootmgr 不能在 gpt 结构上运行。那么,我想在 legacy下 向 gpt 硬盘上安装个win10 ,该咋办?
这种微软引导器方面的天然不足,导致我们必须考虑用另一种 引导器。用 legacy 的 grub2 ,但是 grub2 实在没有 grub4dos 用着顺手,于是有了下面的事情。
下面这个例子 是把一个 gpt 结构的 u盘 弄成能够在 legacy 下启动进入 win8pe.x64
一、用 diskgen 将u盘 分区成gpt 结构并建立 一个 bios-boot-partiton 如下图
二、把事先 编辑好的 grub2 的 core.img 和 boot.img 安装到 上一步做好的 gpt u盘中。
用这个 实现安装
Legacy_grub2-2-GPT.7z
(367.02 KB, 下载次数: 89)
运行里面的 install.cmd
grub2 会自动找到 /boot/grub/grub.cfg 作为配置文件 调用 grub4dos
三、把 grub4dos 复制到 u盘
把这个 解压缩 到 u盘
2.2-legacy-grub2_load-grub4dos.7z
(130.69 KB, 下载次数: 81)
/boot/grub 中
这里面 就包含了 上面提到的 grub.cfg 以及 grub4dos
供grub2 调用 的grub.cfg
- #如果以bios 模式启动 ,发现 console 模式 无法显示中文
- if [ ${grub_platform} = pc ] ;then
- if search --set -f /boot/grub/grub4dos ;then
- insmod ntldr
- clear
- ls /
- echo boot......
- if ntldr /boot/grub/grub4dos ;then boot ;fi
- else
- echo No /boot/grub/grub4dos !
- fi
- fi
复制代码 grub4dos 其实就是 grldr ,他会调用 /boot/grub/menu.lst
这里只是一个样例,如下:
- timeout 30
- default 0
-
- title 0.win8pe x64
- find --set-root /boot/pe/bootmgr.vhd.gz
- map --mem /boot/pe/bootmgr.vhd.gz (hd)
- map --hook
- chainloader (hd-1,0)/bootmgr
- boot
-
- title 1.dostools
- find --set-root /boot/grub/dostools.lzma
- map --mem /boot/grub/dostools.lzma (fd0)
- map --hook
- chainloader (fd0)/io.sys
- boot
复制代码
四、创建 一个 vhd ,用来放置 调用 pe wim 的 legacy -- bootmgr
通过 磁盘管理器 可以创建 vhd ,并将 vhd 初始化 为 mbr 格式,16M大小就够用了,格式成 fat 类型。
这里有个现成的
bootmgr.vhd.7z
(2.46 MB, 下载次数: 77)
当然,要 打开以后 通过 bootice 修改里面的 bcd 使其能够调用 你u盘上的 pe wim ,
挂载/卸载 vhd 可以用 这个脚本
vhd.cmd.7z
(538 Bytes, 下载次数: 41)
把 vhd 挂载,向vhd 中 写入一个 bootmgr 引导体系,可以用 这个 http://bbs.wuyou.net/forum.php?m ... 404993&fromuid=1198
至于 bcd 的修改还是要用 bootice
vhd 的操作 必须放在没有 被压缩的 ntfs 分区上进行,把做好的 vhd 放回 u 盘,也可以 压缩成 gz 供 grub4dos 调用。
五、根据自己的情况 把 你的 pe wim 复制到 u盘
如图
--------------
如果 要 启动 gpt 硬盘上的 pe wim 或者 vhd 或者 winload.exe 都可以这么做,唯一不同的就是 打开 bootmgr.vhd 后修改 里面的 bcd 是不同的,
另外 需要注意的就是 bcd 中 的目标指向,不能用 [boot] [locate] 而要 明确指明 具体位置。
跟在 mbr 硬盘上 操作 bootmgr+bcd 没啥太大区别,就是多了一步 挂载/卸载 vhd 而已。处理 bcd时注意 要指明具体 device/osdevice 的路径
安装 win10 我用 这个 http://bbs.wuyou.net/forum.php?m ... 404803&fromuid=1198
先把bootmgr.vhd 挂载上,然后 就是 脚本负责的事情了。
|
评分
-
查看全部评分
|