无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: hilsonma

[分享] 我的启动U盘(uefi+bios+wepe骨版,独剑三分区脚本简化制作)

    [复制链接]
 楼主| 发表于 2019-6-22 17:30:28 | 显示全部楼层
本帖最后由 hilsonma 于 2019-6-22 17:59 编辑
vm669 发表于 2019-6-22 11:07
刚才没看到就发了帖子

我自己在MBR下做了XORboot启动,可以启动大白菜的2003ISO,


我理解的三分区是指ud区、数据区、efi区

ud区是专门用于u盘提高bios启动成功率的一种分区,因为以前的主板bios对u盘启动的参数处理是不统一的,Bean老大就设计出ud区来提高启动成功率。

efi区是用于efi启动的分区,uefi启动不需要ud区,但一般都要求一个fat16或fat32分区,这个分区存放了efi启动文件就可以叫做efi区,efi区也可以是fat32格式的数据区。

u盘容量不大的话可以直接使用fat32格式,既是数据区也是efi区。
如果u盘容量大,特别是想存放4G以上的安装镜像单文件,就必须使用exFAT格式。nfts格式也可以,但据说很伤u盘。这时就需要分出一个独立的fat分区来支持uefi启动。因为一般的主板uefi都是引导fat分区的启动文件的,只有极个别的可能支持引导exFAT及或ntfs.

MBR方式是一种硬盘分区模式,也可以用于u盘。u盘的ud分区也是一种特殊的mbr.
MBR分区模式是与gpt模式相对的,mbr模式既支持bios启动也支持uefi启动,gpt模式只支持uefi启动。

wepe64.wim既支持uefi启动也支持bios启动。
我的启动方案就是不论bios启动还是uefi启动都是引导同一个wepe64.wim,这个pe镜像我放在efi分区根目录。

BIOS启动 (grub4dos)
  1. title WePE
  2.     command SISO boot.wim="/wepe.wim"
复制代码

UEFI启动 (grub2)
  1. menuentry "1.WePE" --hotkey=1 {
  2.   set f_wim=("${cmddevice}")/wepe.wim
  3.   set f_efi=("${cmddevice}")/efi/microsoft/bootx64.efi
  4.   set f_bcd=("${cmddevice}")/efi/microsoft/b4w
  5.   set f_sdi=("${cmddevice}")/efi/microsoft/boot.sdi
  6.   wimboot @:bootmgfw.efi:"${f_efi}" @:bcd:"${f_bcd}" @:boot.sdi:"${f_sdi}" @:boot.wim:"${f_wim}"
  7. }
复制代码

点评

感觉可以把启动wim封装成函数的形式,这样写菜单更方便。  详情 回复 发表于 2019-6-23 11:17
看到制作好的U盘数据区是NTFS格式,有必要转成EXFAT格式吗? 如果想转应该怎么转?有损还是无损?  详情 回复 发表于 2019-6-23 10:59
回复

使用道具 举报

发表于 2019-6-22 23:23:23 | 显示全部楼层
按着楼主的方法,一次性制作成功
回复

使用道具 举报

发表于 2019-6-23 10:59:10 | 显示全部楼层
hilsonma 发表于 2019-6-22 17:30
我理解的三分区是指ud区、数据区、efi区

ud区是专门用于u盘提高bios启动成功率的一种分区,因为以前 ...

看到制作好的U盘数据区是NTFS格式,有必要转成EXFAT格式吗?
如果想转应该怎么转?有损还是无损?

点评

以下文字来自网络: NTFS分区采用“日志式”,因为要记录磁盘的详细读写操作,对U盘这种快闪存储介质会造成较大的负担,比如同样存取一个文件或目录,在NTFS上的读写次数就会比FAT32更多,理论上NTFS格式的U盘比较  详情 回复 发表于 2019-6-23 16:46
回复

使用道具 举报

 楼主| 发表于 2019-6-23 16:46:00 | 显示全部楼层
本帖最后由 hilsonma 于 2019-6-23 16:54 编辑
vm669 发表于 2019-6-23 10:59
看到制作好的U盘数据区是NTFS格式,有必要转成EXFAT格式吗?
如果想转应该怎么转?有损还是无损?

NTFS分区采用“日志式”,因为要记录磁盘的详细读写操作,对U盘这种快闪存储介质会造成较大的负担,比如同样存取一个文件或目录,在NTFS上的读写次数就会比FAT32更多,理论上NTFS格式的U盘比较容易损坏。并且由于U盘带宽有限,NTFS频繁读写占据通道会让磁盘性能降低。

以上文字来自网络,我就暂且信了它,反正用exFAT也不会更坏。

不能无损转换,只能重新格式化,所以转不转格式自行决定,我建议转,方便就转,不转也没有什么大不了。

点评

exFAT是不是有其他名字或全称,在DG和PA里好像没找到 有FAT32 LBA 不会是这个吧  详情 回复 发表于 2019-6-23 17:04
回复

使用道具 举报

发表于 2019-6-23 17:04:07 | 显示全部楼层
hilsonma 发表于 2019-6-23 16:46
NTFS分区采用“日志式”,因为要记录磁盘的详细读写操作,对U盘这种快闪存储介质会造成较大的负担,比如 ...

exFAT是不是有其他名字或全称,在DG和PA里好像没找到
有FAT32 LBA 不会是这个吧

点评

新版本的DG和PA都有exFAT,不是FAT32 LBA  详情 回复 发表于 2019-6-23 17:29
回复

使用道具 举报

 楼主| 发表于 2019-6-23 17:29:20 | 显示全部楼层
本帖最后由 hilsonma 于 2019-6-23 17:35 编辑
vm669 发表于 2019-6-23 17:04
exFAT是不是有其他名字或全称,在DG和PA里好像没找到
有FAT32 LBA 不会是这个吧


新版本的DG和PA都有exFAT,不是FAT32 LBA
你稍为网上搜一搜 NTFS exFAT 就可以了解到相关知识。

exfat.jpg
回复

使用道具 举报

发表于 2019-6-24 14:00:19 | 显示全部楼层
老师能否帮忙小弟做一个这样的启动盘模板iso:
1安装win10_64企业版 (自己加)
2启动win10_64pe (自己加)
3重启电脑
4关闭电脑
说明:
小白自己不会弄,目的就是1为了在新硬盘或系统坏了时重装系统用,2pe就是为了系统进不了时能进硬盘或u盘用,pe本身都有带工具软件,所以分区,备份等工具就不另外要了,简单能用就够了.

点评

UEFI启动U盘制作模板 这个模板中,pe镜像放在数据区的pe文件夹,安装镜像放在数据区的install文件夹 所以可以制作完成后再替换所需的真正镜像。 10pe_x64.wim 替换到pe文件夹中 win10x64.esd 替换到install文件  详情 回复 发表于 2019-6-25 17:01
目的:拥有一个备用系统,不依赖原系统可以进硬盘或U盘,可以重装系统,可以装系统到新硬盘 资源:安装镜像,PE镜像(含分区、备份等工具)。 做法:PE镜像作为备用系统,放在硬盘或u盘的efi区。 安装系统功能就  详情 回复 发表于 2019-6-24 21:18
回复

使用道具 举报

 楼主| 发表于 2019-6-24 21:18:07 | 显示全部楼层
2019hhh 发表于 2019-6-24 14:00
老师能否帮忙小弟做一个这样的启动盘模板iso:
1安装win10_64企业版 (自己加)
2启动win10_64pe (自己加)

目的:拥有一个备用系统,不依赖原系统可以进硬盘或U盘,可以重装系统,可以装系统到新硬盘
资源:安装镜像,PE镜像(含分区、备份等工具)。
做法:PE镜像作为备用系统,放在硬盘或u盘的efi区。

安装系统功能就算做到启动菜单上也是要启动一个简化PE来进行安装的,所以没必要做到启动菜单,就直接做在PE里面好了,其实安装系统不外就是展开文件然后进行启动设置最后重启完善驱动和其他设置。做好启动模板后安装系统和还原系统操作可以是一样的,就把安装镜像当做备份镜像好了,如果启动不成功就重建一下bcd好了。

启动模板就在我的u盘下载包,里面的esp\efi 文件夹是uefi启动模板,ud\ud.fba 是bios启动模板。
你就把pe镜像提取wim文件改名为wepe.wim就好了
如果你不想改pe镜像名就改一下启动菜单
不会改启动菜单的话就提供具体的pe镜像文件名和你想放置的路径,我可以改好一套模板给你。
回复

使用道具 举报

发表于 2019-6-24 23:04:23 | 显示全部楼层
本帖最后由 2019hhh 于 2019-7-3 19:30 编辑

谢谢老师热心回复!
以前就是下载人家的双启模板(https://pan.baidu.com/s/1iPvr9#list/path=%2F  数码之家装机维护工具盘2013国庆版1.43G)
严重纠正:是因我自己不懂弄错了,
才认为<<数码之家装机维护工具盘2013国庆版1.43G>>不支持win10_x64企业安装版iso.
其实是支持的支持的支持的!!!向作者道歉道歉道歉!!!

回复

使用道具 举报

发表于 2019-6-25 13:46:18 | 显示全部楼层
本帖最后由 2019hhh 于 2019-6-25 14:03 编辑

老师再请教一个问题:
这个操作系统+pe启动盘是从网上找的(
https://pan.baidu.com/s/1mhYaC0C#list/path=%2F
)

我想把(图1)下载的win10.esd镜像,替换到(图2install.esd启动盘模板中,
请教:
是否把下载的镜像win10.esd,直接改名成install.esd放到启动盘模板中,
还是要从下载的镜像win10.esd里面,提取出这个install.esd,再放到启动盘模板中,不知道该怎么弄?
【以前都是像(图3中)install.wim这样子,用Ultraisoiso中提取wim替换的】


1.png
2.png
3.png

点评

你可以用7z打开Win10x64-2019.6.20c.ESD 看看里面是单映像还是多映像 如果是单映像就可以直接改名为install.esd放到模板中 如果是多映像就不可以  详情 回复 发表于 2019-6-25 14:19
回复

使用道具 举报

 楼主| 发表于 2019-6-25 14:19:20 | 显示全部楼层
2019hhh 发表于 2019-6-25 13:46
老师再请教一个问题:
这个操作系统+pe启动盘是从网上找的()
我想把(图1)下载的win10.esd镜像,替换到( ...

你可以用7z打开Win10x64-2019.6.20c.ESD
看看里面是单映像还是多映像
如果是单映像就可以直接改名为install.esd放到模板中
如果是多映像就不可以
回复

使用道具 举报

发表于 2019-6-25 14:34:25 | 显示全部楼层
我试试看,谢谢老师指教!
回复

使用道具 举报

 楼主| 发表于 2019-6-25 17:01:29 | 显示全部楼层
本帖最后由 hilsonma 于 2019-6-26 09:22 编辑
2019hhh 发表于 2019-6-24 14:00
老师能否帮忙小弟做一个这样的启动盘模板iso:
1安装win10_64企业版 (自己加)
2启动win10_64pe (自己加)


UEFI启动U盘制作模板
这个模板中,pe镜像放在数据区的pe文件夹,安装镜像放在数据区的install文件夹
所以可以制作完成后再替换所需的真正镜像。
10pe_x64.wim 替换到pe文件夹中
win10x64.esd 替换到install文件夹中

因为都考虑安装win10了,所以就不做三分区模板了,能正常运行win10的电脑应该都是uefi启动了。

UEFI启动U盘制作模板.7z (3.78 MB, 下载次数: 217)

点评

为求这个模板求了n年,总算求到了! (网上下的模板里面,内容太多,很多都是我用不到的,我只想最简单的,一个系统一个pe能替换就行了) 非常非常感谢hilsonma老师的无私帮助!!!  详情 回复 发表于 2019-6-25 20:17
回复

使用道具 举报

发表于 2019-6-25 20:17:10 | 显示全部楼层
hilsonma 发表于 2019-6-25 17:01
UEFI启动U盘制作模板,注意下载后去掉多余的后缀再解压。正确后缀为  .7z.001 和  .7z.002
这个模板中 ...

为求这个模板求了n年,总算求到了!
(网上下的模板里面,内容太多,很多都是我用不到的,我只想最简单的,一个系统一个pe能替换就行了)
非常非常感谢hilsonma老师的无私帮助!!!
回复

使用道具 举报

发表于 2019-6-25 21:36:26 | 显示全部楼层
从百度网盘很慢的往硬盘下系统中.先请教个问题:
解压后是个如图文件夹,模板不是.iso的形式(不知可否直接做成.iso的样子)?
接下来这文件夹不知是否要先移到u盘中,再进行接下来的操作?从没做过,不懂制作流程.
5.png

点评

不需要考虑 iso 了 直接解压模板,插入ntfs单分区的u盘,运行 UEFI启动U盘制作脚本.cmd 就可以获得一个uefi启动u盘 然后把启动u盘的两个文件 \pe\10pe_x64.wim \install\win10x64.esd 换成你实际需要的文件。  详情 回复 发表于 2019-6-26 00:17
回复

使用道具 举报

发表于 2019-6-25 21:44:18 | 显示全部楼层
学习下先
回复

使用道具 举报

 楼主| 发表于 2019-6-26 00:17:52 | 显示全部楼层
本帖最后由 hilsonma 于 2019-6-26 00:19 编辑
2019hhh 发表于 2019-6-25 21:36
从百度网盘很慢的往硬盘下系统中.先请教个问题:
解压后是个如图文件夹,模板不是.iso的形式(不知可否直接做 ...


不需要考虑 iso 了
直接解压模板,插入ntfs单分区的u盘,运行 UEFI启动U盘制作脚本.cmd 就可以获得一个uefi启动u盘
然后把启动u盘的两个文件
\pe\10pe_x64.wim
\install\win10x64.esd
换成你实际需要的文件。

我已更新模板,请重新下载。

点评

知道了,谢谢  详情 回复 发表于 2019-6-26 00:27
回复

使用道具 举报

发表于 2019-6-26 00:27:36 | 显示全部楼层
hilsonma 发表于 2019-6-26 00:17
不需要考虑 iso 了
直接解压模板,插入ntfs单分区的u盘,运行 UEFI启动U盘制作脚本.cmd 就可以获得一 ...

知道了,谢谢

点评

更新uefi启动盘模板,包括u盘启动和硬盘启动。  详情 回复 发表于 2019-6-26 21:35
回复

使用道具 举报

 楼主| 发表于 2019-6-26 21:35:57 | 显示全部楼层
本帖最后由 hilsonma 于 2019-6-26 21:41 编辑


更新uefi启动盘模板,包括u盘启动和硬盘启动。
UEFI启动盘制作模板.7z (3.78 MB, 下载次数: 327)

评分

参与人数 1无忧币 +5 收起 理由
l18c19 + 5 赞一个!

查看全部评分

回复

使用道具 举报

发表于 2019-6-26 23:24:12 | 显示全部楼层
下载备用
回复

使用道具 举报

发表于 2019-6-28 10:47:36 | 显示全部楼层
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
  set have_grubenv=true
  load_env
fi
if [ "${next_entry}" ] ; then
   set default="${next_entry}"
   set next_entry=
   save_env next_entry
   set boot_once=true
else
   set default="2"
fi

if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
else
  menuentry_id_option=""
fi

export menuentry_id_option

if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}
function load_video {
  if [ x$feature_all_video_module = xy ]; then
    insmod all_video
  else
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    insmod vbe
    insmod vga
    insmod video_bochs
    insmod video_cirrus
  fi
}

if [ x$feature_default_font_path = xy ] ; then
   font=unicode
else
insmod part_msdos
insmod ext2
set root='hd0,msdos9'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos9 --hint-efi=hd0,msdos9 --hint-baremetal=ahci0,msdos9  8dadfa66-fe41-4d7f-84ff-d2669b814499
else
  search --no-floppy --fs-uuid --set=root 8dadfa66-fe41-4d7f-84ff-d2669b814499
fi
    font="/usr/share/grub/unicode.pf2"
fi

if loadfont $font ; then
  set gfxmode=1280x1024
  load_video
  insmod gfxterm
  set locale_dir=$prefix/locale
  set lang=en_US
  insmod gettext
fi
terminal_output gfxterm
insmod part_msdos
insmod ext2
set root='hd0,msdos9'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos9 --hint-efi=hd0,msdos9 --hint-baremetal=ahci0,msdos9  8dadfa66-fe41-4d7f-84ff-d2669b814499
else
  search --no-floppy --fs-uuid --set=root 8dadfa66-fe41-4d7f-84ff-d2669b814499
fi
insmod gfxmenu
loadfont ($root)/boot/grub/themes/deepin/ag-NotoSansCJK-Regular-2-14.pf2
loadfont ($root)/boot/grub/themes/deepin/ag-NotoSansCJK-Regular-2-16.pf2
loadfont ($root)/boot/grub/themes/deepin/ag-unifont-0-17.pf2
insmod jpeg
insmod png
set theme=($root)/boot/grub/themes/deepin/theme.txt
export theme
if [ "${recordfail}" = 1 ] ; then
  set timeout=30
else
  if [ x$feature_timeout_style = xy ] ; then
    set timeout_style=menu
    set timeout=5
  # Fallback normal timeout code in case the timeout_style feature is
  # unavailable.
  else
    set timeout=5
  fi
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=cyan/blue
set menu_color_highlight=white/blue
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
function gfxmode {
        set gfxpayload="${1}"
}
set linux_gfx_mode=
export linux_gfx_mode
menuentry 'Deepin 15.10.1 GNU/Linux' --class deepin --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-8dadfa66-fe41-4d7f-84ff-d2669b814499' {
        load_video
        insmod gzio
        if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
        insmod part_msdos
        insmod ext2
        set root='hd0,msdos9'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos9 --hint-efi=hd0,msdos9 --hint-baremetal=ahci0,msdos9  8dadfa66-fe41-4d7f-84ff-d2669b814499
        else
          search --no-floppy --fs-uuid --set=root 8dadfa66-fe41-4d7f-84ff-d2669b814499
        fi
        linux        /boot/vmlinuz-4.15.0-30deepin-generic root=UUID=8dadfa66-fe41-4d7f-84ff-d2669b814499 ro  splash quiet  DEEPIN_GFXMODE=$DEEPIN_GFXMODE
        initrd        /boot/initrd.img-4.15.0-30deepin-generic
}
submenu 'Advanced options for Deepin 15.10.1 GNU/Linux' $menuentry_id_option 'gnulinux-advanced-8dadfa66-fe41-4d7f-84ff-d2669b814499' {
        menuentry 'Deepin 15.10.1 GNU/Linux, with Linux 4.15.0-30deepin-generic' --class deepin --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-30deepin-generic-advanced-8dadfa66-fe41-4d7f-84ff-d2669b814499' {
                load_video
                insmod gzio
                if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
                insmod part_msdos
                insmod ext2
                set root='hd0,msdos9'
                if [ x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos9 --hint-efi=hd0,msdos9 --hint-baremetal=ahci0,msdos9  8dadfa66-fe41-4d7f-84ff-d2669b814499
                else
                  search --no-floppy --fs-uuid --set=root 8dadfa66-fe41-4d7f-84ff-d2669b814499
                fi
                linux        /boot/vmlinuz-4.15.0-30deepin-generic root=UUID=8dadfa66-fe41-4d7f-84ff-d2669b814499 ro  splash quiet  DEEPIN_GFXMODE=$DEEPIN_GFXMODE
                initrd        /boot/initrd.img-4.15.0-30deepin-generic
        }
        menuentry 'Deepin 15.10.1 GNU/Linux, with Linux 4.15.0-30deepin-generic (systemd)' --class deepin --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-30deepin-generic-init-systemd-8dadfa66-fe41-4d7f-84ff-d2669b814499' {
                load_video
                insmod gzio
                if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
                insmod part_msdos
                insmod ext2
                set root='hd0,msdos9'
                if [ x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos9 --hint-efi=hd0,msdos9 --hint-baremetal=ahci0,msdos9  8dadfa66-fe41-4d7f-84ff-d2669b814499
                else
                  search --no-floppy --fs-uuid --set=root 8dadfa66-fe41-4d7f-84ff-d2669b814499
                fi
                linux        /boot/vmlinuz-4.15.0-30deepin-generic root=UUID=8dadfa66-fe41-4d7f-84ff-d2669b814499 ro  splash quiet  DEEPIN_GFXMODE=$DEEPIN_GFXMODE init=/lib/systemd/systemd
                initrd        /boot/initrd.img-4.15.0-30deepin-generic
        }
        menuentry 'Deepin 15.10.1 GNU/Linux, with Linux 4.15.0-30deepin-generic (recovery mode)' --class deepin --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-30deepin-generic-recovery-8dadfa66-fe41-4d7f-84ff-d2669b814499' {
                load_video
                insmod gzio
                if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
                insmod part_msdos
                insmod ext2
                set root='hd0,msdos9'
                if [ x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos9 --hint-efi=hd0,msdos9 --hint-baremetal=ahci0,msdos9  8dadfa66-fe41-4d7f-84ff-d2669b814499
                else
                  search --no-floppy --fs-uuid --set=root 8dadfa66-fe41-4d7f-84ff-d2669b814499
                fi
                linux        /boot/vmlinuz-4.15.0-30deepin-generic root=UUID=8dadfa66-fe41-4d7f-84ff-d2669b814499 ro single
                initrd        /boot/initrd.img-4.15.0-30deepin-generic
        }
}

### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###

### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows 10 (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-chain-5E2A677A2A674E59' {
        insmod part_msdos
        insmod ntfs
        set root='hd0,msdos1'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1  5E2A677A2A674E59
        else
          search --no-floppy --fs-uuid --set=root 5E2A677A2A674E59
        fi
        parttool ${root} hidden-
        drivemap -s (hd0) ${root}
        chainloader +1
}
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/30_uefi-firmware ###
### END /etc/grub.d/30_uefi-firmware ###

### BEGIN /etc/grub.d/35_deepin_gfxmode ###
insmod deepin_gfxmode
deepin_gfxmode
### END /etc/grub.d/35_deepin_gfxmode ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  ${config_directory}/custom.cfg ]; then
  source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###

这是DEEPIN的grub.cfg,是grub2吗?
是不是备注的多了,跟论坛的好像不一样,有的就是三五行
itle Deepin Live 2.0 ISO
root (hd3,3)
kernel        /linux/vmlinuz boot=live findiso=/linux/deepin-live-system-2.0-amd64.iso components quiet splash locales=zh_CN.UTF-8
initrd        /linux/initrd.img

另,grub.cfg是不是要跟menu.lst 配合使用呢?

点评

Linux发行版的grub.cfg是自动生成的,不要直接修改它。 添加自定义菜单项的话,应该编辑 /etc/grub.d/40_custom 这个文件(文件名不一定是这个,但是至少应该是XX_custom这种)  详情 回复 发表于 2019-7-4 10:01
回复

使用道具 举报

 楼主| 发表于 2019-6-28 15:15:26 | 显示全部楼层
是的,grub.cfg是grub2的,而这个是deepin本身自动生成的,我不了解
看其中的语句 if [ x$grub_platform = xxen ];  估计不是uefi平台的,可能是deepin的实模式启动吧叫xen

你后面的5行的menu.lst 是grub4dos的,是bios启动的。

grub.cfg是grub2的配置文件,bios和uefi平台通用,但有些功能是专用于某个平台的。

grub.cfg和menu.lst 是两个类似但并不相同的软件的配置文件,两者间没有必然的联系,至于是否要配合使用在于你的运用,你可以完全不管另一个,也可以在一个当中调用另一个。

点评

哦,差点混乱了 看来多看看grub2了 目前这个菜单第三项是转到原win启动菜单,在选择为win7或者win10的 如果我要在深度这个启动菜单中直接增加win7和为win10两个菜单该怎么写呢?  详情 回复 发表于 2019-6-29 11:12
回复

使用道具 举报

发表于 2019-6-28 17:13:54 | 显示全部楼层
骨感但很强悍
Pe作为简单的维护工具足矣

很好的工具,刚刚做好
回复

使用道具 举报

发表于 2019-6-29 11:12:52 | 显示全部楼层
hilsonma 发表于 2019-6-28 15:15
是的,grub.cfg是grub2的,而这个是deepin本身自动生成的,我不了解
看其中的语句 if [ x$grub_platform = ...

哦,差点混乱了

看来多看看grub2了

目前这个菜单第三项是转到原win启动菜单,在选择为win7或者win10的
如果我要在深度这个启动菜单中直接增加win7和为win10两个菜单该怎么写呢?

点评

首先,前面的注释 # DO NOT EDIT THIS FILE 表明你没有找到正确的配置文件,现在找到这个是自动生成的,应该是修改无效的 后面的语句 menuentry 'Windows 10 (on /dev/sda1)' ... ... chainloader  详情 回复 发表于 2019-6-29 12:03
回复

使用道具 举报

 楼主| 发表于 2019-6-29 12:03:05 | 显示全部楼层
vm669 发表于 2019-6-29 11:12
哦,差点混乱了

看来多看看grub2了

首先,前面的注释
# DO NOT EDIT THIS FILE
表明你没有找到正确的配置文件,现在找到这个是自动生成的,应该是修改无效的

后面的语句
menuentry 'Windows 10 (on /dev/sda1)'  ...
    ...
    chainloader +1
表明现在的启动是实模式,启动Windows 10 是通过扇区启动的

你先找到正确的配置文件,然后启动win10 应该类似如下

BIOS:
menuentry 'Windows 10 ' {
        set root='hd0,msdos1'
        chainloader /bootmgr
}

UEFI:
menuentry 'Windows 10 ' {
        set root='hd0,msdos1'
        chainloader /Windows/Boot/EFI/bootmgfw.efi
}

UEFI模式下,还要在win10分区新建 \efi\microsoft\boot\bcd
或者从 \boot\bcd 复制
回复

使用道具 举报

发表于 2019-7-4 09:28:48 | 显示全部楼层
本帖最后由 2012cauli88 于 2019-7-4 09:42 编辑
hilsonma 发表于 2019-6-21 12:37
你的U盘才4G,其实没有必要三分区,直接FAT32格式,然后建以下文件夹:
h:\efi\boot
h:\efi\xorboot


hisonma,你好!
先说一下我的需求,我希望能“授我以渔,而不是鱼”。
以前弄U盘启动时贼简单,用Bootice写一个Grub4DOS的引导到U盘主引导记录,然后修改Grldr内建菜单或外置菜单,各种Iso仿真加载就OK了。这种玩法一直好用,又不伤U盘数据,但最近在一台2017年的笔记本电脑上碰到了问题。这是一台UEFI启动的电脑,原系统是Win10_64位版,因是单位公产,不便对系统或软件作多的更改,于是想用自己的U盘加载一个全能的Win10PE。问题就在这里,一直没弄好。
当看到你的这个回复时,我眼前一亮,这就是我需要的解决方法。不过看完之后,还是一头雾水,脑子一片糨糊。
我的前提是用一个已有数据的U盘,不要脚本分区等伤害数据的操作。
就你在这个回复帖中给出的二种方式,我有以下疑问,望解惑。
第一种是Xorboot启动UEFI,请问这个要在U盘写入引导文件吗?如果是,应该是什么引导文件?
第二种Grub2启动UEFI,这个应该也是要写入一个引导文件的?论坛里关于Grub2启动UEFI的帖子一大堆,但我看到那一大堆的小文件(好像是mod扩展名的)就头皮发麻。你提供的这个貌似没说要那些*.mod文件支持,但至少要一个引导文件才能引导Grub2吧?望解惑并给出解决方案。
谢谢!

点评

其实现在弄U盘启动同样简单,只要你对启动方式和相关启动文件理解就行。 wintoflash回复的就是正确的uefi启动做法。我现在根据你的需求描述重复一下: 检查是否有FAT分区,没有就用diskgenius新建一个,然后复制  详情 回复 发表于 2019-7-4 11:08
只考虑UEFI启动的话,U盘只要有一个FAT分区就可以。 电脑的UEFI固件(64位)会查找FAT分区下的\EFI\BOOT\bootx64.efi这个文件并启动它。 如果UEFI固件是32位的,就会启动\EFI\BOOT\bootia32.efi 你把想用的启动管  详情 回复 发表于 2019-7-4 09:50
回复

使用道具 举报

发表于 2019-7-4 10:05:03 | 显示全部楼层
wintoflash 发表于 2019-7-4 09:50
只考虑UEFI启动的话,U盘只要有一个FAT分区就可以。(FAT32/FAT16等)
电脑的UEFI固件(64位)会查找FAT ...

感谢wintoflash老大的解答,先试一下,不行再来提问。再次感谢!
回复

使用道具 举报

 楼主| 发表于 2019-7-4 11:08:53 | 显示全部楼层
本帖最后由 hilsonma 于 2019-7-4 11:31 编辑
2012cauli88 发表于 2019-7-4 09:28
hisonma,你好!
先说一下我的需求,我希望能“授我以渔,而不是鱼”。
以前弄U盘启动时贼简单,用Bo ...


其实现在弄U盘启动同样简单,只要你对启动方式和相关启动文件理解就行。

wintoflash回复的就是正确的uefi启动做法。我现在根据你的需求描述重复一下:
检查是否有FAT分区,没有就用diskgenius新建一个,然后复制或生成启动文件,修改一下启动菜单就OK了

关于你对启动文件的疑惑
第一种 xorboot启动,要在U盘写入引导文件,引导文件不是写到主引导记录的,是复制到FAT分区的,所以如果没有FAT分区就要建一个。引导文件是以下两个文件
\efi\boot\bootx64.efi
\efi\xorboot\xorboot.xor
这两个文件可以用xorboot工具生成,也可以复制各种下载包的,前面一个是efi引导程序,后面一个是程序的配置文件也就是菜单文件。用xorboot工具修改你的xor菜单以符合你的实际情况。

第二种grub2启动,也要写入一个引导文件,同样是写到FAT分区。这个引导文件是
\efi\boot\bootx64.efi
\efi\grub\grub.cfg
前者是引导,后者是配置也是菜单。grub.cfg可以用记事本修改,推荐使用notepad2或notepad++等修改。
你所说的一大堆小文件,那是grub2的外置模块,如果那些模块没有包含在bootx64.efi中就需要外置,我的在制作时就将模块包含在bootx64.efi中了,所以看不到那些模块文件。
是否需要额外的 *.mod文件 以及gurb.cfg放在哪个文件夹,都是在制作bootx64.efi 时定义了的,如果不是复制现成的grub2 的bootx64.efi,就是自己亲自制作grub2的bootx64.efi 可参考http://bbs.wuyou.net/forum.php?mod=viewthread&tid=413597

注意无论哪一种启动,只要是uefi启动,启动文件基本都是 \efi\boot\bootx64.efi
文件名是一样的,但实质文件不一样,要区分清楚,不同的启动文件其配置文件(菜单文件)是不一样的。
bootmgfw 的配置是bcd
grub2的配置是grub.cfg
xorboot的配置是xorboot.xor
refind的配置是refind.conf
clover的配置是config.plist
等等。

可参考http://bbs.wuyou.net/forum.php?mod=viewthread&tid=415174

点评

谢谢hilsonma耐心解答,之前已多次阅读你的两个关于定制bootx64.efi的帖子,现在总算有了一点认识。引导文件就是这个bootx64.efi,不再要求写入到引导扇区,这一点不再像Grub4DOS做的那样,因而造成了我的困惑。再次  详情 回复 发表于 2019-7-4 12:12
回复

使用道具 举报

发表于 2019-7-4 12:12:24 | 显示全部楼层
hilsonma 发表于 2019-7-4 11:08
其实现在弄U盘启动同样简单,只要你对启动方式和相关启动文件理解就行。

wintoflash回复的就是正确 ...

谢谢hilsonma耐心解答,之前已多次阅读你的两个关于定制bootx64.efi的帖子,现在总算有了一点认识。引导文件就是这个bootx64.efi,不再要求写入到引导扇区,这一点不再像Grub4DOS做的那样,因而造成了我的困惑。再次感谢!

点评

bios启动是基于扇区引导,uefi启动是基于文件引导。可以参考论坛相关贴子学习了解。  发表于 2019-7-4 12:27
回复

使用道具 举报

发表于 2019-7-5 08:07:29 | 显示全部楼层
wintoflash 发表于 2019-7-4 10:01
Linux发行版的grub.cfg是自动生成的,不要直接修改它。
添加自定义菜单项的话,应该编辑 /etc/grub.d/40 ...

谢谢你
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-4-19 01:59

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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