无忧启动论坛

 找回密码
 注册
搜索
WEPE笔记本电脑手机维修小包 IT发烧友的必备工具最纯净的「微PE装机优盘」UEPON大师作品卡瑞飞系统和装机二合一超级U盘
广告位招租系统gho:最纯净好用系统下载站广告联系 QQ:184822951 微信:wuyouceo
楼主: 極限驅動

[分享] Windows定制Grub2(包括BIOS和UEFI、自定义Grub2路徑)

    [复制链接]
发表于 2014-10-27 16:19:46 | 显示全部楼层
ludun 发表于 2014-10-27 16:06
这个帖子的命令我也操作了,但是  BIOS模式定制 命令不能启动系统,显示的就是Unknown command ‘?sea ...

呵呵,到现在还没有弄好呀?

点评

启动已经成功,我只是想弄明白为什么用下面的命令就不能成功启动。 BIOS模式定制: grub-mkimage.exe -d I386-PC -c Config.CFG -o Core.img -O i386-pc biosdisk part_msdos fat exfat ntfs ext2 iso9660 udf c  详情 回复 发表于 2014-10-27 18:04
回复

使用道具 举报

发表于 2014-10-27 18:04:50 | 显示全部楼层
本帖最后由 ludun 于 2014-10-27 18:12 编辑
2011phzhc 发表于 2014-10-27 16:19
呵呵,到现在还没有弄好呀?


启动已经成功,我只是想弄明白为什么用下面的命令就不能成功启动。
BIOS模式定制:
grub-mkimage.exe -d I386-PC  -c Config.CFG  -o Core.img -O i386-pc biosdisk part_msdos fat exfat ntfs ext2 iso9660 udf configfile search help  reiserfs font linux chain search_fs_file
这个命令生成的core.img与lnxboot.img合并生成G2ldr文件大小是133K,bootice导入的时候,占用265扇区,就是不能引导。我的U盘是闪迪(SanDisk)至尊极速(CZ80)32G U盘 USB3.0,被电脑识别为本地磁盘。
Config.CFG内容:
search.file /boot/grub/grub.cfg root
set prefix=($root)/boot/grub/

BIOS模式定制

BIOS模式定制

Uefi32模式

Uefi32模式

点评

你把原來的Config.CFG内容: search.file /boot/grub/grub.cfg root set prefix=($root)/boot/grub/ 去掉($root) 修改成 search.file /boot/grub/grub.cfg root set prefix=/boot/grub/ 你成功定制的命令  详情 回复 发表于 2014-10-28 09:21
1、Copy /B i386-pc\lnxBoot.img+Core.img Grldr 将生成的Grldr放在启动盘的根目录。 2、运行BOOTICE,选择U盘,主引导记录/恢复MBR/选择grldr.mbr/恢复。 grldr.mbr只占16扇区而已。  详情 回复 发表于 2014-10-27 19:16
回复

使用道具 举报

发表于 2014-10-27 19:16:54 | 显示全部楼层
本帖最后由 2011phzhc 于 2014-10-27 19:18 编辑
ludun 发表于 2014-10-27 18:04
启动已经成功,我只是想弄明白为什么用下面的命令就不能成功启动。
BIOS模式定制:
grub-mkimage.exe ...


1、Copy /B i386-pc\lnxBoot.img+Core.img  Grldr
   将生成的Grldr放在启动盘的根目录。
2、运行BOOTICE,选择U盘,主引导记录/恢复MBR/选择grldr.mbr/恢复。
  grldr.mbr只占16扇区而已。【注:grldr.mbr可在grub4dos区下载

点评

你的意思是用Grub4Dos引导grldr。谢谢回复!  详情 回复 发表于 2014-10-27 19:49
回复

使用道具 举报

发表于 2014-10-27 19:49:31 | 显示全部楼层
2011phzhc 发表于 2014-10-27 19:16
1、Copy /B i386-pc\lnxBoot.img+Core.img  Grldr
   将生成的Grldr放在启动盘的根目录。
2、运行BOO ...

你的意思是用Grub4Dos引导grldr。谢谢回复!
回复

使用道具 举报

 楼主| 发表于 2014-10-28 09:21:45 | 显示全部楼层
本帖最后由 極限驅動 于 2014-10-28 10:21 编辑
ludun 发表于 2014-10-27 18:04
启动已经成功,我只是想弄明白为什么用下面的命令就不能成功启动。
BIOS模式定制:
grub-mkimage.exe ...


你把原來的Config.CFG内容:
search.file /boot/grub/grub.cfg root
set prefix=($root)/boot/grub/

去掉($root) 修改成
search.file /boot/grub/grub.cfg root
set prefix=/boot/grub/

你成功定制的命令是怎麼樣的,給我看一下

U盤先確定是否只有壹個分區,電腦是怎麼識別你的U盤那無所謂
壹般情況下先選用Boot.img,不行再換lnxBoot.img來啟動。
啟動到菜單的時候,如果只能看到數字和英文,其餘的都看不到,那就說明你當期模式沒有成功加載字體,這時你就要檢查Grub.CFG菜單的字體路徑
定制時沒有特別要求推薦用的參數 -p 來設定路徑,基本上U盤只有壹個分區那位置就是(hd0,1)

点评

U盘有两个分区,启动区在第二部分(想把启动区隐藏,这个区在ls命令下显示为(hd0,msdos2),文件结构如下: 卷 SYS 的文件夹 PATH 列表 卷序列号为 0008-C1F1 j: ├─EFI │ ├─Boot │ │ │ Bootia32.  详情 回复 发表于 2014-10-28 11:29
回复

使用道具 举报

发表于 2014-10-28 11:29:57 | 显示全部楼层
極限驅動 发表于 2014-10-28 09:21
你把原來的Config.CFG内容:
search.file /boot/grub/grub.cfg root
set prefix=($root)/boot/grub/
...

U盘有两个分区,启动区在第二部分(想把启动区隐藏,这个区在ls命令下显示为(hd0,msdos2),文件结构如下:
卷 SYS 的文件夹 PATH 列表
卷序列号为 0008-C1F1
j:
├─EFI
│  ├─Boot
│  │  │  Bootia32.EFI
│  │  │  Bootx64.EFI
│  │  │  
│  │  ├─en-us
│  │  │      bootx64pe.efi.mui
│  │  │      
│  │  └─zh-cn
│  │          bootx64pe.efi.mui
│  │          bootia32.efi.mui
│  │         
│  └─microsoft
│      └─boot
│          │  BCD
│          │  memtest.efi
│          │  
│          ├─en-us
│          │      memtest.efi.mui
│          │      
│          └─Fonts
│         
├─Grub2
│  │  bootmgr
│  │  
│  └─Bios
│      │  Grldr
│      │  grub.cfg
│      │  I386-PC.CFG
│      │  memdisk
│      │  back.jpg
│      │  Config.CFG
│      │  
│      ├─i386-pc
│      │      acpi.mod
│      │      adler32.mod (这里面的文件没有全部列出)
│      ├─i386-efi
│      │      acpi.mod
│      │      adler32.mod
│      │      affs.mod    (这里面的文件没有全部列出)
│      ├─x86_64-efi
│      │      acpi.mod    (这里面的文件没有全部列出)
│      │      
│      └─fonts
│              unicode.pf2
│              
└─boot
    │  BCD
    │  boot.sdi
    │  
    ├─zh-cn
    │      bootmgr.exe.mui
    │      
    └─fonts
            chs_boot.ttf
            wgl4_boot.ttf
成果启动的命令是:
bios模式:
grub-mkimage.exe -d I386-PC -p /Grub2/BIOS -o Core.img -O i386-pc biosdisk part_msdos fat exfat ntfs

Copy /B i386-pc\Boot.img+Core.img G2ldr(用BOOTICEx86_v1.33—主引导记录—恢复MBR)

UEFI模式的32Bit定制:
grub-mkimage.exe -d i386-efi  -c Config.CFG -o Bootia32.EFI -O  i386-efi part_gpt part_msdos disk fat exfat ext2 ntfs appleldr hfs iso9660 normal search_fs_file

UEFI模式的64Bit定制:
grub-mkimage.exe -d x86_64-efi  -c Config.CFG -o Bootx64.EFI -O x86_64-efi part_gpt part_msdos disk fat exfat ext2 ntfs appleldr hfs iso9660 normal search_fs_file

Config.CFG内容:
search.file /Grub2/BIOS/grub.cfg root
set prefix=($root)/Grub2/BIOS

点评

从你列出的结构看Config.CFG路径有误。 Config.CFG内容: search.file /EFI/Grub2/BIOS/grub.cfg root set prefix=($root)/EFI/Grub2/BIOS 另外,Config.CFG文件应与grub-mkimage.exe 放在同一位置。  详情 回复 发表于 2014-10-28 23:35
你的Grub2的結構沒什麼問題了,不過在定制完成後可以刪掉不要這些文件:Config.CFG、I386-PC.CFG 目前電腦只對硬碟的識別是比較固定的,不像U盤在不同的機器上面會有不同的識別 由於你的U盤有兩個分區,那定制命令  详情 回复 发表于 2014-10-28 12:32
回复

使用道具 举报

 楼主| 发表于 2014-10-28 12:32:57 | 显示全部楼层
本帖最后由 極限驅動 于 2014-10-29 01:09 编辑
ludun 发表于 2014-10-28 11:29
U盘有两个分区,启动区在第二部分(想把启动区隐藏,这个区在ls命令下显示为(hd0,msdos2),文件结构如 ...


你的Grub2的結構沒什麼問題了,不過在定制完成後可以刪掉這些文件:Config.CFG、I386-PC.CFG
目前電腦只對硬碟的識別是比較固定的,不像U盤在不同的機器上面會有不同的識別
由於你的U盤有兩個分區,那定制命令最好選用參數 -c 來搜索定位

參數 -c 的配置文件Config.CFG内容:
search.file /Grub2/BIOS/grub.cfg root
set prefix=/Grub2/BIOS

然後試試定制BIOS模式。

抱歉,之前沒仔細看你Grub2的路徑結構

点评

我是在win8.1下定制的文件,每次启动都会出现“?set”的错误。 现在觉得是win8.1中txt文本的UTF-8的编码问题不能成功。你们觉得是觉得是不是这个问题。 在虚拟机中试试吧。 谢谢这几天来各位大侠、朋友的回复!  详情 回复 发表于 2014-10-28 22:29

评分

参与人数 1无忧币 +5 收起 理由
ludun + 5 现在觉得是CFG文件的编码问题

查看全部评分

回复

使用道具 举报

发表于 2014-10-28 22:29:46 | 显示全部楼层
本帖最后由 ludun 于 2014-10-28 22:32 编辑
極限驅動 发表于 2014-10-28 12:32
你的Grub2的結構沒什麼問題了,不過在定制完成後可以刪掉這些文件:Config.CFG、I386-PC.CFG
目前電腦 ...


我是在win8.1下定制的文件,每次启动都会出现“?set”的错误。
现在觉得是win8.1中txt文本的UTF-8的编码问题不能成功。你们觉得是觉得是不是这个可能。
在虚拟机中试试吧。
谢谢这几天来各位大侠、朋友的回复!谢谢!

点评

不可能的。我跟你一模一样,系统也是win8.1,U盘也是闪迪CZ80  详情 回复 发表于 2014-10-28 22:58
回复

使用道具 举报

发表于 2014-10-28 22:58:54 | 显示全部楼层
ludun 发表于 2014-10-28 22:29
我是在win8.1下定制的文件,每次启动都会出现“?set”的错误。
现在觉得是win8.1中txt文本的UTF-8的 ...

不可能的。我跟你一模一样,系统也是win8.1,U盘也是闪迪CZ80

评分

参与人数 1无忧币 +5 收起 理由
ludun + 5 谢谢回复!正在找毛病所在。只是学习,不只.

查看全部评分

回复

使用道具 举报

发表于 2014-10-28 23:35:14 | 显示全部楼层
本帖最后由 2011phzhc 于 2014-10-28 23:39 编辑
ludun 发表于 2014-10-28 11:29
U盘有两个分区,启动区在第二部分(想把启动区隐藏,这个区在ls命令下显示为(hd0,msdos2),文件结构如 ...


从你列出的结构看Config.CFG路径有误。
Config.CFG内容:
search.file /EFI/Grub2/BIOS/grub.cfg root
set prefix=($root)/EFI/Grub2/BIOS/

另外,Config.CFG文件应与grub-mkimage.exe 放在同一位置。
         定制完成后,Config.CFG文件可删除。

点评

他在57樓路徑中你好像看錯了 內核文件夾 /Grub2/BIOS/ 位置是直接在根目錄中 不在根目錄的 EFI 之內,也就是只有: /EFI/Boot /EFI/microsoft 不存在 /EFI/Grub2/BIOS  详情 回复 发表于 2014-10-29 01:16
注意路径中的红色部分!  详情 回复 发表于 2014-10-28 23:54

评分

参与人数 1无忧币 +5 收起 理由
ludun + 5

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2019-8-20 18:46

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表