veket官方网站论坛

veket

 找回密码
 要注册
搜索
楼主: 自由飞翔

实操grub4dos启动veket_25.iso

[复制链接]
发表于 2024-4-19 22:25 | 显示全部楼层
自由飞翔 发表于 2024-4-19 18:18
启动u盘下,veket_25.iso镜像中/boot/grub/menu.lst不添加同样的引导文件是可以的;在win系统下引导,若不 ...


我弄错了,BIOS下面,veket放入vmware的CDROM中启动,主引导是grub4dos,不需要你说的/boot/grub/menu.lst,这里面的文件是不用动的,的确需要。

发表于 2024-4-21 07:15 | 显示全部楼层
自由飞翔 发表于 2024-4-19 18:18
启动u盘下,veket_25.iso镜像中/boot/grub/menu.lst不添加同样的引导文件是可以的;在win系统下引导,若不 ...


我看了下你打包的veket_25.iso里面的/boot/grub/menu.lst,完全不对路子,你对系统引导理解是错误的。
#
# menu.lst
#

#color NORMAL            HIGHLIGHT       HELPTEXT       HEADING
#       f/b               f/b              f/b           f/b
color light-gray/black yellow/red cyan/black light-blue/black

timeout 10
default 0

# 0.4.6a
graphicsmode -1 800 600
splashimage /boot/splash.jpg

title /veket_25.iso
find --ignore-floppies --ignore-cd --set-root /veket_25.iso
map /veket_25.iso (hd32) ;; map --hook
kernel (hd32)/vmlinuz find_iso=/veket_25.iso PSUBDIR=/ pmedia=cd pfix=fsck
initrd (hd32)/initrd.gz


title veket 25
  kernel /vmlinuz    pmedia=cd pfix=fsck
  errorcheck off
  initrd /initrd.gz
  initrd /ucode.cpio /initrd.gz

title veket 25 - Copy SFS files to RAM
  kernel /vmlinuz    pmedia=cd pfix=fsck,copy
  errorcheck off
  initrd /initrd.gz
  initrd /ucode.cpio /initrd.gz

title veket 25 - Don't copy SFS files to RAM
  kernel /vmlinuz    pmedia=cd pfix=fsck,nocopy
  errorcheck off
  initrd /initrd.gz
  initrd /ucode.cpio /initrd.gz

title veket 25 - Force xorgwizard (xorgwizard)
  kernel /vmlinuz    pmedia=cd pfix=xorgwizard,fsck
  errorcheck off
  initrd /initrd.gz
  initrd /ucode.cpio /initrd.gz

......

上面标红色的那段菜单,不是这样子玩的!veket_25.iso镜像内部根本不需要这段。
BIOS下面,那段菜单的意思是,可以从本地硬盘、优盘上面的grub4dos引导,用map命令仿真挂载veket_25.iso到(hd32)虚拟光盘,用kernel命令加载vmlinuz,用initrd命令加载initrd.gz,veket_25.iso你可以放在本地硬盘、优盘的任何一个盘符、任何一个英文不含空格的路径,都可以改菜单让他从veket_25.iso启动。比如我把veket_25.iso放在/linux/veket/lucky8k-25/veket_25.iso,在我的本地硬盘E:\盘的根目录下有menu.lst,通过我的C盘的bootmgr→引导grub4dos→加载E:\menu.lst菜单→启动/linux/veket/lucky8k-25/veket_25.iso,
当然直接用本地硬盘的MBR→grub4dos→加载E:\menu.lst菜单→启动/linux/veket/lucky8k-25/veket_25.iso也可以。
我的本地硬盘的MBR一般都是微软引导体系的bootmgr。
E:\menu.lst菜单如下:

title /linux/veket/lucky8k-25/veket_25.iso
find --ignore-floppies --ignore-cd --set-root /linux/veket/lucky8k-25/veket_25.iso
map /linux/veket/lucky8k-25/veket_25.iso (hd32) ;; map --hook
kernel (hd32)/vmlinuz find_iso=/linux/veket/lucky8k-25/veket_25.iso PSUBDIR=/ pmedia=cd pfix=fsck
initrd (hd32)/initrd.gz

根本不需要你在veket_25.iso内部的/boot/grub/menu.lst来上红色字体的那一段!那段代码写死了veket_25.iso的路径,这样子如果我把veket_25.iso放在/linux/veket/lucky8k-25/veket_25.iso,还怎么启动啊?本地硬盘的menu.lst文件可以随意更改,以适应veket.iso所在文件位置,veket.iso内部的/boot/grub/menu.lst怎么改?还需要在不破坏veket.iso光盘镜像MBR引导的情况下修改其内部的menu.lst,没有这样子玩的,这不是最终用户该干的事情,最终用户该改的是其本地硬盘的menu.lst。那段代码是放在本地硬盘、优盘的根目录下的menu.lst中的,而不是放在veket_25.iso的内部!

你对系统启动误解很深。实战上来讲,也应该是修改本地硬盘的menu.lst,而不是修改光盘镜像中的menu.lst。
你就不能用我的批处理试下吗?只需要几十秒就可以了。

我所说的需要/boot/grub/menu.lst,指的是,BIOS下面,直接从CDROM中启动,比如说把veket_25.iso刻录到光盘(ventoy也是模仿CDROM启动),veket_25.iso的主引导是grub4dos,(早期veket用的是isolinux),既然用了grub4dos,当然需要有/boot/grub/menu.lst菜单,就相当于把veket_25.iso直接放进CDROM中一样,那也只需要上面非红色字体的菜单即可!

grub4dos搜索其启动菜单的顺序是/menu.lst, /boot/grub/menu.lst, /grub/menu.lst,三个位置只要有一个地方有这个menu.lst即可。本地硬盘上,我都是修改第一处/menu.lst。当然veket.iso光盘镜像中,菜单位置是 /boot/grub/menu.lst,也是没有问题的。


发表于 2024-4-21 07:45 | 显示全部楼层
类比下ubuntu.iso,grub4dos整体启动ubuntu.iso,不需要官方发布出来的ubuntu.iso内部做任何改动。/linux/ubuntu/ubuntu-20.10-desktop-amd64.iso位于本地硬盘上面。
启动流程是本地硬盘MBR→bootmgr→grub4dos→E:\menu.lst→ubuntu.iso,当然也可以直接MBR→grub4dos→E:\menu.lst→ubuntu.iso
#grub4dos
title /linux/ubuntu/ubuntu-20.10-desktop-amd64.iso
find --ignore-floppies --ignore-cd --set-root /linux/ubuntu/ubuntu-20.10-desktop-amd64.iso
map /linux/ubuntu/ubuntu-20.10-desktop-amd64.iso (hd32)
map --hook
kernel (hd32)/casper/vmlinuz boot=casper iso-scan/filename=/linux/ubuntu/ubuntu-20.10-desktop-amd64.iso noprompt noeject
initrd (hd32)/casper/initrd

grub4dos整体启动debian.iso,不需要官方发布出来的debian.iso内部做任何改动。/linux/Debian/debian-live-11.7.0-amd64-xfce+nonfree.iso位于本地硬盘上面。
启动流程是本地硬盘MBR→bootmgr→grub4dos→E:\menu.lst→debian.iso,当然也可以直接MBR→grub4dos→E:\menu.lst→debian.iso
title /linux/Debian/debian-live-11.7.0-amd64-xfce+nonfree.iso
find --ignore-floppies --ignore-cd --set-root /linux/Debian/debian-live-11.7.0-amd64-xfce+nonfree.iso
map /linux/Debian/debian-live-11.7.0-amd64-xfce+nonfree.iso (hd32)
map --hook
kernel (hd32)/live/vmlinuz-5.10.0-22-amd64 boot=live findiso=/linux/Debian/debian-live-11.7.0-amd64-xfce+nonfree.iso components locales=zh_CN.UTF-8 locale=zh_CN.UTF-8 timezone=Asia/Shanghai localtime=Asia/Shanghai
initrd (hd32)/live/initrd.img-5.10.0-22-amd64
 楼主| 发表于 2024-4-21 13:43 | 显示全部楼层
liuzhaoyzz 发表于 2024-4-21 07:45
类比下ubuntu.iso,grub4dos整体启动ubuntu.iso,不需要官方发布出来的ubuntu.iso内部做任何改动。/linux/u ...


不知你在实体电脑测试否?我测试还是不行,不用管它了,引导文件也不加入 。
压缩截图(要小于2厘米)http://www.lucky8k.com/forum.php ... zOTc0NXwxMzQ5Nzc%3D

IMG_20240421_084704.jpg.tar.gz

1.95 MB, 下载次数: 13, 下载积分: 铜币 -5

发表于 2024-4-21 18:40 来自手机 | 显示全部楼层
自由飞翔 发表于 2024-4-21 13:43
不知你在实体电脑测试否?我测试还是不行,不用管它了,引导文件也不加入 。
压缩截图(要小于2厘米)htt ...

我测试了很多次了,你这个提示找不到文件,是因为我电脑的veket.iso存放的位置,跟你存放的位置不同的,你可以手工修改你自己的文件路径即可,我写的批处理会自动修改文件路径。
您需要登录后才可以回帖 登录 | 要注册

本版积分规则

QQ|手机版|Archiver|veket官方网站论坛 ( 粤ICP备 11052856 )

GMT+8, 2025-5-1 18:11

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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