无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 4543|回复: 12
打印 上一主题 下一主题

[原创] windows手动部署usb启动盘,学习汇报帖

  [复制链接]
跳转到指定楼层
1#
发表于 2021-12-18 23:45:50 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
windows制作usb启动盘

windows制作usb启动盘,可以直接使用程序安装,也可以手动部署,方法来自于極限驅動很久前的帖子:
http://bbs.wuyou.net/forum.php?m ... p;extra=&page=1

以下内容是本人学习、实践的总结,踩过很多坑(红字标记),供有兴趣者参考、对照



usbdisk,mbr分区表,单分区,fat32,4k对齐,boot标签
准备文件
    grub-for-windows压缩包,下载地址:https://www.gnu.org/software/grub/index.html
    BOOTICE工具,这个都知道吧!
    grub.cfg,grub配置,详细内容贴在尾部
    themes,启动桌面主题

usbdisk目录设置,这点与極限驅動大侠原贴不同,与使用程序安装相同
        \EFI\BOOT\BOOTIA32.EFI,BOOTX64.EFI
        \grub\G2ldr(制作),grub.cfg(自定义)
        -----\fonts\unicode.pf2
        -----\locale\zh_CN.mo(只用简体中文)
        -----\i386-efi
        -----\i386-pc\+core.img(制作)
        -----\themes(自定义)
        -----\x86_64-efi
        \根目录放置自选软件,memdisk,memtest86+.bin,winpe.iso(任意pe),boot+porteus(porteus便携部署)

使用管理员权限打开cmd,进入grub-for-windows文件夹,使用grub-mkimage命令
    BIOS模式生成內核文件core.img,复制到\grub\i386-pc,增加模块不能成功制作
        grub-mkimage.exe -d i386-pc -p (hd0,msdos1)/grub -o core.img -O i386-pc biosdisk part_msdos fat ext2
    UEFI模式的32Bit生成i386-efi.efi
        grub-mkimage.exe -d i386-efi -p (hd0,msdos1)/grub -o i386-efi.efi -O i386-efi part_gpt part_msdos disk fat exfat ext2 ntfs appleldr hfs iso9660 normal search_fs_file
    UEFI模式的64Bit生成x86_64-efi.efi
        grub-mkimage.exe -d x86_64-efi -p (hd0,msdos1)/grub -o x86_64-efi.efi -O x86_64-efi part_gpt part_msdos disk fat exfat ext2 ntfs appleldr hfs iso9660 normal search_fs_file

    制作出来的EFI启动文件,i386-efi.efi改名为BOOTIA32.EFI,x86_64-efi.efi改名为BOOTX64.EFI,复制到\EFI\BOOT

    BOOT启动文件制作,使用管理员权限打开cmd,进入\grub\i386-pc,合并\boot.img与core.img生成G2ldr,复制到\grub
        copy /B boot.img+core.img G2ldr

    BOOTICE-》确定选取u盘-》先安装主引导记录GRUB2-》再选恢复MBR-》选择恢复文件-》G2ldr-》恢复扇区,显示数为61-》恢复

grub.cfg+themes两个文件打包下载 grub.7z (47.06 KB, 下载次数: 60)

附录
grub.cfg,EFI、BOOT正常启动参考配置
    set root=(hd0,msdos1)
    set default=0
    set gfxmode=1024x768,auto
    set font=${prefix}/fonts/unicode.pf2
    set lang=zh_CN
    set locale_dir=${prefix}/locale
    set theme=${prefix}/themes/theme.txt
    set timeout=5
    insmod part_msdos
    insmod normal
    insmod search_fs_file
    insmod ext2
    insmod fat
    insmod all_video
    insmod gfxterm
    insmod gettext
    insmod png
    terminal_output gfxterm
    load_video
    loadfont ${font}
    export theme
    if background_image ${prefix}/themes/background.png; then
    set color_normal=white/black
    set color_highlight=black/white
    else
    set menu_color_normal=cyan/blue
    set menu_color_highlight=white/blue
    fi
    menuentry 'Locale HD System' --class harddrive {
    set root=(hd1)
    chainloader +1
    }
    menuentry 'Windows PE' --unrestricted {
    insmod part_msdos
    insmod ext2
    insmod fat
    set root=(hd0,msdos1)
    linux16 /memdisk iso raw
    initrd16 /winpe.iso
    }
    menuentry 'Porteus Linux' --root {
    insmod part_msdos
    insmod ext2
    insmod fat
    set root=(hd0,msdos1)
    linux /boot/syslinux/vmlinuz
    initrd /boot/syslinux/initrd.xz
    }
    menuentry 'Memorytest(memtest86+)' {
    insmod part_msdos
    insmod ext2
    insmod fat
    set root=(hd0,msdos1)
    linux16 /memtest86+.bin
    }
    menuentry 'Reboot' --unrestricted { reboot ; }
    menuentry 'Halt' --unrestricted { halt ; }

评分

参与人数 3无忧币 +15 收起 理由
wuxin9712 + 5
蓝星明月 + 5 赞一个!
新空气 + 5 赞一个!

查看全部评分

2#
发表于 2021-12-19 00:26:44 | 只看该作者
坑踩多了也就踩平了
回复

使用道具 举报

3#
发表于 2021-12-19 06:06:21 | 只看该作者
谢谢分享
回复

使用道具 举报

4#
发表于 2021-12-19 06:19:19 | 只看该作者
楼主,请把USB启动模板放出来好吗?谢谢!

点评

自定义的grub.cfg、themes,附件就是  详情 回复 发表于 2021-12-19 08:43
回复

使用道具 举报

5#
 楼主| 发表于 2021-12-19 08:43:44 | 只看该作者
huangdi 发表于 2021-12-19 06:19
楼主,请把USB启动模板放出来好吗?谢谢!

自定义的grub.cfg、themes,附件就是

点评

谢谢!  详情 回复 发表于 2021-12-19 11:46
回复

使用道具 举报

6#
发表于 2021-12-19 11:46:31 | 只看该作者
风.轻扬 发表于 2021-12-19 08:43
自定义的grub.cfg、themes,附件就是

谢谢!
回复

使用道具 举报

7#
发表于 2021-12-19 11:48:43 | 只看该作者

谢谢分享。
回复

使用道具 举报

8#
发表于 2021-12-19 12:10:35 来自手机 | 只看该作者
ext2有什么用?你不妨把U第一分区开始于2048扇区,这样core.img可以打掉,完整写入mbr到第一分区之间了。

点评

磁盘分区因4k对齐,分区是开始于2048扇区,但在恢复扇区写入大于63的G2ldr时,甚至64都不能启动,不知道是否还有其他解决办法? ext2是对linux文件系统的支持,如果觉得没用,可以不要或换成ntfs等适合自己的试试。  详情 回复 发表于 2021-12-19 13:44
回复

使用道具 举报

9#
 楼主| 发表于 2021-12-19 13:44:44 | 只看该作者
本帖最后由 风.轻扬 于 2021-12-19 13:46 编辑
my9823 发表于 2021-12-19 12:10
ext2有什么用?你不妨把U第一分区开始于2048扇区,这样core.img可以打掉,完整写入mbr到第一分区之间了。

磁盘分区因4k对齐,分区是开始于2048扇区,但在恢复扇区写入大于63的G2ldr时,甚至64都不能启动,不知道是否还有其他解决办法?
ext2是支持linux文件系统的基本模块,如果觉得没用,可以不要或换成ntfs等适合自己的试试。
关于模块,在合并G2ldr时,理论上应该可以只添加u盘对应的文件系统的,其他模块在grub.cfg中加载,并考虑兼容性,加载尽可能多的。
本人非专业出身,不妥指出,请不吝赐教!
回复

使用道具 举报

10#
发表于 2021-12-21 10:02:08 来自手机 | 只看该作者
使用grub2包中的grub-bios-setup.exe写入即可

点评

这与本帖主题不符,欢迎在手动部署方面指教  详情 回复 发表于 2021-12-22 08:28
回复

使用道具 举报

11#
 楼主| 发表于 2021-12-22 08:28:10 | 只看该作者
my9823 发表于 2021-12-21 10:02
使用grub2包中的grub-bios-setup.exe写入即可

这与本帖主题不符,欢迎在手动部署方面指教
回复

使用道具 举报

12#
 楼主| 发表于 2021-12-22 08:32:26 | 只看该作者
关于ext2模块,经测试,带与不带都可以制作成功
grub-mkimage.exe -d i386-pc -p (hd0,msdos1)/grub -o core.img -O i386-pc biosdisk part_msdos fat,扇区56
grub-mkimage.exe -d i386-pc -p (hd0,msdos1)/grub -o core.img -O i386-pc biosdisk part_msdos fat ext2,扇区61
回复

使用道具 举报

13#
发表于 2022-2-26 14:50:19 | 只看该作者
谢谢分享。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-4-20 06:51

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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