无忧启动论坛

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

[分享] Grub2的简单使用

    [复制链接]
 楼主| 发表于 2022-4-1 15:22:08 | 显示全部楼层
本帖最后由 hilsonma 于 2022-4-1 15:30 编辑
2010hfj 发表于 2022-4-1 11:14
能够引导iso 吗 单独引导一个pe  感觉都有带你落伍了

可以的。参见这个贴子 http://bbs.wuyou.net/forum.php?mod=viewthread&tid=418198

可以将目录列成自动菜单。
可以查找并引导efi、wim、vhd、vhdx、iso 和 cfg (grub2配置文件)。


grub2本身是用map命令实现引导的,比如说 diy 目录里的 pe.iso
  1. search -n -s -f /diy/pe.iso
  2. map /diy/pe.iso
复制代码
回复

使用道具 举报

发表于 2022-4-3 21:10:12 | 显示全部楼层
本帖最后由 lhpxs 于 2022-4-3 21:13 编辑

高手中的高手
回复

使用道具 举报

发表于 2022-4-7 01:14:07 | 显示全部楼层


源码我不会改啊,改了也不懂编译啊
回复

使用道具 举报

发表于 2022-6-8 07:34:36 | 显示全部楼层
学习加支持
回复

使用道具 举报

发表于 2022-6-8 16:31:16 | 显示全部楼层
太好了,学习一下。
回复

使用道具 举报

发表于 2022-7-12 21:30:38 | 显示全部楼层
努力学习!!!!!
回复

使用道具 举报

发表于 2022-8-30 13:35:50 | 显示全部楼层
没权限下载附件啊。
回复

使用道具 举报

发表于 2022-9-4 21:57:13 | 显示全部楼层
怎么加载其它efi启动文件呢? 加载了一个,怎么出错了 QQ图片20220904215558.png

点评

没看见出什么错。  详情 回复 发表于 2022-9-5 15:56
一般是使用chainloader 但如果是linux内核的efi文件有可能需要使用 linuxefi 我很少用这些,你可以试试看。 象你前面的举例,好象是grub2再加载grub2,我认为没必要这样,善用配置文件grub.cfg就可以了。也可以  详情 回复 发表于 2022-9-5 15:28
回复

使用道具 举报

 楼主| 发表于 2022-9-5 15:28:50 | 显示全部楼层
jasonwang 发表于 2022-9-4 21:57
怎么加载其它efi启动文件呢? 加载了一个,怎么出错了

一般是使用chainloader
但如果是linux内核的efi文件有可能需要使用 linuxefi
我很少用这些,你可以试试看。

象你前面的举例,好象是grub2再加载grub2,我认为没必要这样,善用配置文件grub.cfg就可以了。也可以多个配置文件相互套用,个人认为多个配置文件套用要比多个内核套用好。
回复

使用道具 举报

发表于 2022-9-5 15:33:15 | 显示全部楼层
da  lao  
回复

使用道具 举报

发表于 2022-9-5 15:56:19 | 显示全部楼层
jasonwang 发表于 2022-9-4 21:57
怎么加载其它efi启动文件呢? 加载了一个,怎么出错了

没看见出什么错。

点评

停在那个界面了不动了啊,正常应该加载这个efi了啊  详情 回复 发表于 2022-9-5 18:03
回复

使用道具 举报

发表于 2022-9-5 18:03:32 来自手机 | 显示全部楼层
wintoflash 发表于 2022-9-5 15:56
没看见出什么错。

停在那个界面了不动了啊,正常应该加载这个efi了啊

点评

再输入boot然后回车试试  详情 回复 发表于 2022-9-6 00:18
你是在菜单里面执行的,还是在终端里面敲命令执行的?菜单内容是什么?  详情 回复 发表于 2022-9-5 19:13
回复

使用道具 举报

发表于 2022-9-5 19:13:44 | 显示全部楼层
jasonwang 发表于 2022-9-5 18:03
停在那个界面了不动了啊,正常应该加载这个efi了啊


你是在菜单里面执行的,还是在终端里面敲命令执行的?菜单内容是什么?

点评

菜单里面的内容和我输的命令一样,当时出错的信息也一样,我试下再加一个boot试下吧  详情 回复 发表于 2022-9-6 21:09
回复

使用道具 举报

发表于 2022-9-6 21:09:28 | 显示全部楼层
wintoflash 发表于 2022-9-5 19:13
你是在菜单里面执行的,还是在终端里面敲命令执行的?菜单内容是什么?

菜单里面的内容和我输的命令一样,当时出错的信息也一样,我试下再加一个boot试下吧
回复

使用道具 举报

发表于 2022-9-7 11:27:53 | 显示全部楼层
感谢分享
回复

使用道具 举报

发表于 2022-10-12 13:53:01 来自手机 | 显示全部楼层
感谢楼主分享教程
回复

使用道具 举报

发表于 2022-10-16 10:51:10 | 显示全部楼层
Grub2的简单使用
回复

使用道具 举报

发表于 2022-11-1 15:58:02 来自手机 | 显示全部楼层
学习一下,感谢分享
回复

使用道具 举报

发表于 2022-11-2 20:52:47 | 显示全部楼层
支持了
回复

使用道具 举报

发表于 2023-3-10 21:42:08 | 显示全部楼层
欢迎您回来,上等兵 junnel
回复

使用道具 举报

发表于 2023-3-11 08:38:13 | 显示全部楼层
谢谢分享。
回复

使用道具 举报

发表于 2023-4-3 08:20:39 | 显示全部楼层
再来学习一下!!
回复

使用道具 举报

发表于 2023-5-6 22:36:52 来自手机 | 显示全部楼层
大大,我现在主力使用deepin系统,启动菜单是xieboot,我想换到Linux自带的grub启动菜单,但是win菜单是二级菜单,请教我该怎么增加一级菜单的menuentry的语句,系统一个uefi启动模式,Win10在第三个分区,win8vhd文件也在第三分区里面,大大有空看到的话帮我写写,谢谢您!

点评

建议使用wintoflash的grub2,先使用bcdboot在win10分区建立启动文件,然后菜单如下:  详情 回复 发表于 2023-5-7 16:23
回复

使用道具 举报

发表于 2023-5-7 14:16:08 | 显示全部楼层
学习了!谢谢分享!
回复

使用道具 举报

 楼主| 发表于 2023-5-7 16:23:40 | 显示全部楼层
langyun 发表于 2023-5-6 22:36
大大,我现在主力使用deepin系统,启动菜单是xieboot,我想换到Linux自带的grub启动菜单,但是win菜单是二 ...

建议使用wintoflash的grub2,先使用bcdboot在win10分区建立启动文件,然后菜单如下:
  1. menuentry "Win10" {
  2.     search -n -s -f /EFI/Microsoft/Boot/bootmgfw.efi
  3.     chainloader /EFI/Microsoft/Boot/bootmgfw.efi
  4. }

  5. menuentry "Win8" {
  6.     search -n -s dev_vhd -f /vhd/win8.vhdx
  7.     search -n -s dev_efi -f /EFI/Microsoft/Boot/bootmgfw.efi
  8.     ntboot --testmode=no --timeout=0 -e ($dev_efi)/EFI/Microsoft/Boot/bootmgfw.efi ($dev_vhd)/vhd/win8.vhdx
  9. }
复制代码

点评

我直接使用linux系统自带的grub启动文件可以吗? # # DO NOT EDIT THIS FILE # # It is automatically generated by grub-mkconfig using templates # from /etc/grub.d and settings from /etc/default/grub  详情 回复 发表于 2023-5-7 20:29
回复

使用道具 举报

发表于 2023-5-7 20:29:58 | 显示全部楼层
hilsonma 发表于 2023-5-7 16:23
建议使用wintoflash的grub2,先使用bcdboot在win10分区建立启动文件,然后菜单如下:

我直接使用linux系统自带的grub启动文件可以吗?

#
# 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="0"
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
}

font=unicode
set gfxmode=auto
if loadfont $font ; then
  set gfxmode=1366x768,1360x768,1280x720,1024x768,auto
  load_video
  insmod gfxterm
  set locale_dir=$prefix/locale
  set lang=zh_CN
  insmod gettext
echo
fi
if [ x$feature_default_font_path = xy ] ; then
   font=unicode
else
insmod part_gpt
insmod ext2
set root='hd0,gpt4'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt4 --hint-efi=hd0,gpt4 --hint-baremetal=ahci0,gpt4  93525f2a-925b-408d-b3b7-7b3c981cfb98
else
  search --no-floppy --fs-uuid --set=root 93525f2a-925b-408d-b3b7-7b3c981cfb98
fi
    font="/usr/share/grub/unicode.pf2"
fi
terminal_output gfxterm
if [ "${recordfail}" = 1 ] ; then
  set timeout=30
else
  if [ x$feature_timeout_style = xy ] ; then
    set timeout_style=menu
    set timeout=1
  # Fallback normal timeout code in case the timeout_style feature is
  # unavailable.
  else
    set timeout=1
  fi
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=white/black
### 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 20.8 GNU/Linux' --class deepin --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-93525f2a-925b-408d-b3b7-7b3c981cfb98' {
        load_video
        insmod gzio
        if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
        insmod part_gpt
        insmod ext2
        set root='hd0,gpt4'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt4 --hint-efi=hd0,gpt4 --hint-baremetal=ahci0,gpt4  93525f2a-925b-408d-b3b7-7b3c981cfb98
        else
          search --no-floppy --fs-uuid --set=root 93525f2a-925b-408d-b3b7-7b3c981cfb98
        fi
        linux        /boot/vmlinuz-5.18.17-amd64-desktop-community-hwe root=UUID=93525f2a-925b-408d-b3b7-7b3c981cfb98 ro  splash quiet  DEEPIN_GFXMODE=$DEEPIN_GFXMODE
        initrd        /boot/initrd.img-5.18.17-amd64-desktop-community-hwe
        boot
}

这是开头

点评

自带的没有ntboot模块,要启动vhd还要另外做启动文件 还有就是自带的我没有用过,不知道怎么修改主菜单。  详情 回复 发表于 2023-5-7 21:56
回复

使用道具 举报

发表于 2023-5-7 21:51:32 | 显示全部楼层
又回到Grub的学习中
回复

使用道具 举报

 楼主| 发表于 2023-5-7 21:56:44 | 显示全部楼层
本帖最后由 hilsonma 于 2023-5-7 21:57 编辑
langyun 发表于 2023-5-7 20:29
我直接使用linux系统自带的grub启动文件可以吗?

#

自带的没有ntboot模块,要启动vhd还要另外做启动文件

还有就是自带的我没有用过,不知道怎么修改主菜单。

你上面这个,人家都强调了,不要直接修改。

点评

是的,VHD启动显示 错误:无法找到命令ntboot 没修改,是通过修改40_custom,再命令修改启动菜单的。  详情 回复 发表于 2023-5-8 10:15
回复

使用道具 举报

发表于 2023-5-8 10:15:50 | 显示全部楼层
hilsonma 发表于 2023-5-7 21:56
自带的没有ntboot模块,要启动vhd还要另外做启动文件

还有就是自带的我没有用过,不知道怎么修改主菜 ...

是的,VHD启动显示 错误:无法找到命令ntboot


没修改,是通过修改40_custom,再命令修改启动菜单的。

点评

那就不用ntboot 把vhd启动项做到win10菜单,这样,一级菜单是deepin和win,win是二级菜单,有win10和win8.vhd 还有一个做法就是在第三分区做vhd启动菜单,启动文件bootmgfw.efi改名为boot8.efi 在其他分区如第  详情 回复 发表于 2023-5-9 06:37
回复

使用道具 举报

 楼主| 发表于 2023-5-9 06:37:46 | 显示全部楼层
langyun 发表于 2023-5-8 10:15
是的,VHD启动显示 错误:无法找到命令ntboot

那就不用ntboot
把vhd启动项做到win10菜单,这样,一级菜单是deepin和win,win是二级菜单,有win10和win8.vhd

还有一个做法就是在第三分区做vhd启动菜单,启动文件bootmgfw.efi改名为boot8.efi
在其他分区如第二分区做win10启动菜单,启动文件bootmgfw.efi改名为boot10.efi

这样就可以在deepin的菜单中加两个启动项,一个是找boot10.efi并引导,另一个是找boot8.efi并引导。这样就只有一个主菜单,就是deepin的菜单,3个启动项,分别是deepin,win10,win8

点评

VHD的boot8.efi放在哪里?VHD文件系统里面还是外面哪边?  详情 回复 发表于 2023-5-16 16:46
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-3-28 23:58

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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