无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: 2011niumao
打印 上一主题 下一主题

[教程] 从 固定VHD与只读squashfs引导LINUX, UBUNTU ARCH Fedora Opensuse Mageia五种

    [复制链接]
211#
发表于 2015-12-28 17:11:31 | 只看该作者
其他已经全部按照流程文档做了。但是就是启动报错,百度了查不出来exitcode=0x00000009是什么问题啊

IMG_0537120.png (415.05 KB, 下载次数: 156)

IMG_0537120.png

点评

这种错误也遇到过几次.大多是引导信息不对,找不到initrd.img文件引起的.也有是initrd.img制作不合适造成的.所以建议检查引导信息 initrd 那一行.或是重新制作 initrd.img .因为可能升级阿什么的会改动原先修改好的lo  详情 回复 发表于 2015-12-28 19:43
回复

使用道具 举报

212#
 楼主| 发表于 2015-12-28 19:43:27 | 只看该作者
againshi 发表于 2015-12-28 17:11
其他已经全部按照流程文档做了。但是就是启动报错,百度了查不出来exitcode=0x00000009是什么问题啊

这种错误也遇到过几次.大多是引导信息不对,找不到initrd.img文件引起的.也有是initrd.img制作不合适造成的.所以建议检查引导信息 initrd 那一行.或是重新制作 initrd.img .因为可能升级阿什么的会改动原先修改好的local文件.
回复

使用道具 举报

213#
发表于 2015-12-29 08:34:46 | 只看该作者
一切都是按照你给的命令制作的,我换过好多版本ubuntu,总是报这个错,郁闷到崩溃了。

点评

可以不自己制作。直接在第一楼下载个我制作好的ubuntu的两个文件,什么版本都可以。引导看看。 除了声音会是假输出,没有声音外一切都可以使用。  详情 回复 发表于 2015-12-29 12:01
回复

使用道具 举报

214#
 楼主| 发表于 2015-12-29 12:01:02 | 只看该作者
againshi 发表于 2015-12-29 08:34
一切都是按照你给的命令制作的,我换过好多版本ubuntu,总是报这个错,郁闷到崩溃了。

可以不自己制作。直接在第一楼下载个我制作好的ubuntu的两个文件,什么版本都可以。引导看看。
除了声音会是假输出,没有声音外一切都可以使用。
回复

使用道具 举报

215#
发表于 2015-12-31 10:42:39 | 只看该作者
本帖最后由 jxdeng 于 2015-12-31 10:45 编辑

预祝LZ新年好!
我在定制EFI 启动盘时,使用了本坛的一个GRUB2 定制格式,我把您的ubuntu live 1510等VHD 放上来时,报如下的出错。还有clonezilla 等版本合盘时 也出现问题。我怀疑是定制grubx64.efi时出了问题,请教一下LZ ,您在定制GRUB2 EFI 时 包含进那些模块?或者您的grub-mkimage.exe 是怎么写的?

我的定制版 基本情况如下:
grub.cfg 位置:
/EFI/Grub2/UEFI_x86_64-efi/grub.cfg
/EFI/Grub2/BIOS/grub.cfg

grub.cfg:
loadfont /EFI/Grub2/UEFI_x86_64-efi/fonts/unicode.pf2
set locale_dir=/EFI/Grub2/UEFI_x86_64-efi/locale

定制语句:
grub-mkimage.exe -d x86_64-efi  -p /Grub2/UEFI_x86_64-efi -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

其实,linux.mod 等模块是存在的。

grub2err.jpg (36.19 KB, 下载次数: 168)

grub2err.jpg

点评

jxdeng好.元旦快乐. 感觉grub-mkimage.exe的 -p 参数是不是有些问题.不过这个是windows下制作grub2的命令. -p参数是 --prefix的缩写. prefix据说是硬编码在grub2模块中的.所以应该按需要设定. 建议把你的grub2  详情 回复 发表于 2015-12-31 16:39
jxdeng好.元旦快乐. 感觉grub-mkimage.exe的 -p 参数是不是有些问题.不过这个是windows下制作grub2的命令. -p参数是 --prefix的缩写. prefix据说是硬编码在grub2模块中的.所以应该按需要设定. 建议把你的grub2  详情 回复 发表于 2015-12-31 16:39
jxdeng好.元旦快乐. 感觉grub-mkimage.exe的 -p 参数是不是有些问题.不过这个是windows下制作grub2的命令. -p参数是 --prefix的缩写. prefix据说是硬编码在grub2模块中的.所以应该按需要设定. 建议把你的grub2  详情 回复 发表于 2015-12-31 16:39
jxdeng好.元旦快乐. 感觉grub-mkimage.exe的 -p 参数是不是有些问题.不过这个是windows下制作grub2的命令. -p参数是 --prefix的缩写. prefix据说是硬编码在grub2模块中的.所以应该按需要设定. 建议把你的grub2  详情 回复 发表于 2015-12-31 16:39
回复

使用道具 举报

216#
 楼主| 发表于 2015-12-31 16:39:41 | 只看该作者
本帖最后由 2011niumao 于 2015-12-31 20:37 编辑
jxdeng 发表于 2015-12-31 10:42
预祝LZ新年好!
我在定制EFI 启动盘时,使用了本坛的一个GRUB2 定制格式,我把您的ubuntu live 1510等VHD  ...


jxdeng好.元旦快乐.
感觉grub-mkimage.exe的 -p 参数是不是有些问题.不过这个是windows下制作grub2的命令.
-p参数是 --prefix的缩写. prefix据说是硬编码在grub2模块中的.所以应该按需要设定.

建议你把grub2目录放在根目录下面,不是efi目录下面,因为prefix的内容里面没有efi.

并且原来定制语句
  1. grub-mkimage.exe -d x86_64-efi  -p /Grub2/UEFI_x86_64-efi -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
复制代码

中最好把-p 后面 更改为 /Grub2 ,如下
  1. grub-mkimage.exe -d x86_64-efi  -p /Grub2/ -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
复制代码

这样,它会自动寻找该目录下x86_64-efi子目录的模块.注意是小写.

如果依照原先设置 -p /Grub2/UEFI_x86_64-efi   那么需要在 /Grub2/UEFI_x86_64-efi目录下存在x86_64-efi子目录,模块应在其中才对.
所以prefix的设置很关键的.
回复

使用道具 举报

217#
 楼主| 发表于 2015-12-31 16:39:42 | 只看该作者
本帖最后由 2011niumao 于 2015-12-31 20:31 编辑

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
回复

使用道具 举报

218#
 楼主| 发表于 2015-12-31 16:39:42 | 只看该作者
本帖最后由 2011niumao 于 2015-12-31 20:31 编辑

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
回复

使用道具 举报

219#
 楼主| 发表于 2015-12-31 16:39:42 | 只看该作者

推荐一种grub2菜单写法

本帖最后由 2011niumao 于 2016-4-6 21:29 编辑

典型例子
  1. menuentry " UBUNTU-1604.vhd " --class  ubuntu {
  2.         insmod gzio
  3.         insmod part_msdos
  4.         insmod part_gpt
  5.         insmod ext2
  6.         insmod ntfs
  7.         insmod probe
  8.         set vhdfile="/ubt/UBUNTU-1604.vhd"
  9.         set root=(hd0,1)
  10.         search --no-floppy -f --set=aabbcc  $vhdfile
  11.         set root=${aabbcc}
  12.         probe -u --set=ddeeff ${aabbcc}
  13.         loopback loop0 $vhdfile
  14.         linux        (loop0,1)/vmlinuz root=/dev/sda5 rw  kloop=$vhdfile  kroot=/dev/mapper/loop0p1
  15.         initrd        (loop0,1)/initrd.img
复制代码
优点
1)设置了变量vhdfile ,可以使得三处的vhd文件统一使用该变量代替,便于修改和移植。
以后只需要修改变量 vhdfile的值就可以了。

2)使用loopback命令,引导文件在vhd文件内。这样只需要一个固定vhd文件。不用再手工把引导文件复制出来。
但是这个方法只适用于grub2 ,不适用grub4dos(除非vhd文件连续存放或碎片不超过32)。

注意这里要求 修改定制的可以引导固定vhd的 initrd.img要直接替换掉原先的/boot/initrd.img-XXXX-generic.

3)正常情况下升级后不需要修改引导菜单了。也不需要复制vmlinuz——XXXXX-geneic   initrd.img-XXXXX-generic出来了,

评分

参与人数 1无忧币 +1 收起 理由
Srainbow + 1 汗~~误点成反对了,+1无忧币,报歉。

查看全部评分

回复

使用道具 举报

220#
发表于 2016-1-25 23:04:35 | 只看该作者
谢谢LZ,按你的方法制作成功。。。。。。。。
回复

使用道具 举报

221#
发表于 2016-1-28 23:54:21 来自手机 | 只看该作者
搞了两天,终于成功了,谢谢楼主的教程!
回复

使用道具 举报

222#
发表于 2016-3-6 14:34:21 | 只看该作者
2011niumao 发表于 2014-6-29 15:37
UBUNTU制作可以引导VHD系统的initrd.img 的方法
http://pan.baidu.com/s/1mgFi1Qg

用第4步的方法编译安装的修改版ntfs-3g有问题,挂载ntfs分区会出错,必须重新用官方版本覆盖安装ntfs-3g才能修复。测试环境:ubuntu 14.04.4

点评

我这里好像没有问题。是1604.  详情 回复 发表于 2016-3-6 18:27
回复

使用道具 举报

223#
 楼主| 发表于 2016-3-6 18:27:10 | 只看该作者
photor 发表于 2016-3-6 14:34
用第4步的方法编译安装的修改版ntfs-3g有问题,挂载ntfs分区会出错,必须重新用官方版本覆盖安装ntfs-3g ...

我这里好像没有问题。是1604.
回复

使用道具 举报

224#
发表于 2016-3-17 10:11:42 | 只看该作者
哦哦,好久没空来论坛了,楼主大大都能做1604的版本了?哪天有空再折腾一下。
回复

使用道具 举报

225#
发表于 2016-4-6 16:46:24 | 只看该作者
本帖最后由 wdtx 于 2016-4-6 16:52 编辑



版主你好!按你的教程成功安装了Linux Mint 系统,由于VHD所在分区空间小,把VHD目录复制到另一分区,并在GRUB.cfg更改VHD路径,引导后出现No init found. Try passing init= bootarg等错误信息,这是什么原因?怎么解决啊?
回复

使用道具 举报

226#
 楼主| 发表于 2016-4-6 21:13:41 | 只看该作者
可能是菜单中还有错误路径信息。应该是没有挂载好根分区。注意看看菜单各个文件的路径。
另外有时候需要检查一下local文件。有时候升级后会把一些修改丢失了。
看看以下菜单
  1. menuentry " UBUNTU-1604.vhd " --class  ubuntu {
  2.         insmod gzio
  3.         insmod part_msdos
  4.         insmod part_gpt
  5.         insmod ext2
  6.         insmod ntfs
  7.         insmod probe
  8.         set vhdfile="/ubt/UBUNTU-1604.vhd"
  9.         set root=(hd0,1)
  10.         search --no-floppy -f --set=aabbcc  $vhdfile
  11.         set root=${aabbcc}
  12.         probe -u --set=ddeeff ${aabbcc}
  13.         loopback loop0 $vhdfile
  14.         linux        (loop0,1)/vmlinuz root=/dev/sda5 rw  kloop=$vhdfile  kroot=/dev/mapper/loop0p1
  15.         initrd        (loop0,1)/initrd.img
  16. }
复制代码


可以修改标题 ,vhdfile的值为vhd文件的路径,loop0p1 (loop0,1)中的1表示第一个主分区,看你的vhd内分区酌情修改。

点评

我的是ubtkylin16.04内核4.4.0-22启动错误,做了好几次都不行,楼主能提供下启动文件吗?谢谢!!  详情 回复 发表于 2016-5-10 22:44
我的是ubtkylin16.04内核4.4.0-22启动错误,做了好几次都不行,楼主能提供下启动文件吗?谢谢!!  详情 回复 发表于 2016-5-10 22:44
我的是ubtkylin16.04内核4.4.0-22启动错误,做了好几次都不行,楼主能提供下启动文件吗?谢谢!!  详情 回复 发表于 2016-5-10 22:44
我的是ubtkylin16.04内核4.4.0-22启动错误,做了好几次都不行,楼主能提供下启动文件吗?谢谢!!  详情 回复 发表于 2016-5-10 22:44
我的是ubtkylin16.04内核4.4.0-22启动错误,做了好几次都不行,楼主能提供下启动文件吗?谢谢!!  详情 回复 发表于 2016-5-10 22:44
回复

使用道具 举报

227#
发表于 2016-5-10 22:43:40 | 只看该作者
2011niumao 发表于 2016-4-6 21:13
可能是菜单中还有错误路径信息。应该是没有挂载好根分区。注意看看菜单各个文件的路径。
另外有时候需要检 ...

我的是ubtkylin16.04内核4.4.0-22启动错误,做了好几次都不行,楼主能提供下启动文件吗?谢谢!!
回复

使用道具 举报

228#
发表于 2016-5-10 22:44:15 | 只看该作者
2011niumao 发表于 2016-4-6 21:13
可能是菜单中还有错误路径信息。应该是没有挂载好根分区。注意看看菜单各个文件的路径。
另外有时候需要检 ...

我的是ubtkylin16.04内核4.4.0-22启动错误,做了好几次都不行,楼主能提供下启动文件吗?谢谢!!
回复

使用道具 举报

229#
发表于 2016-5-10 22:44:16 | 只看该作者
2011niumao 发表于 2016-4-6 21:13
可能是菜单中还有错误路径信息。应该是没有挂载好根分区。注意看看菜单各个文件的路径。
另外有时候需要检 ...

我的是ubtkylin16.04内核4.4.0-22启动错误,做了好几次都不行,楼主能提供下启动文件吗?谢谢!!
回复

使用道具 举报

230#
发表于 2016-5-10 22:44:17 | 只看该作者
2011niumao 发表于 2016-4-6 21:13
可能是菜单中还有错误路径信息。应该是没有挂载好根分区。注意看看菜单各个文件的路径。
另外有时候需要检 ...

我的是ubtkylin16.04内核4.4.0-22启动错误,做了好几次都不行,楼主能提供下启动文件吗?谢谢!!
回复

使用道具 举报

231#
发表于 2016-5-10 22:44:17 | 只看该作者
2011niumao 发表于 2016-4-6 21:13
可能是菜单中还有错误路径信息。应该是没有挂载好根分区。注意看看菜单各个文件的路径。
另外有时候需要检 ...

我的是ubtkylin16.04内核4.4.0-22启动错误,做了好几次都不行,楼主能提供下启动文件吗?谢谢!!
回复

使用道具 举报

232#
发表于 2016-5-10 22:44:19 | 只看该作者
2011niumao 发表于 2016-4-6 21:13
可能是菜单中还有错误路径信息。应该是没有挂载好根分区。注意看看菜单各个文件的路径。
另外有时候需要检 ...

我的是ubtkylin16.04内核4.4.0-22启动错误,做了好几次都不行,楼主能提供下启动文件吗?谢谢!!
回复

使用道具 举报

233#
发表于 2016-5-10 22:45:48 | 只看该作者
我的是ubtkylin16.04内核4.4.0-22启动错误,做了好几次都不行,楼主能提供下启动文件吗?谢谢!!

点评

已上传同版本的UBUNTU两个启动文件,到KLOOP共享目录内。请试用。  详情 回复 发表于 2016-5-11 10:18
回复

使用道具 举报

234#
 楼主| 发表于 2016-5-11 10:18:48 | 只看该作者
wangziqiang 发表于 2016-5-10 22:45
我的是ubtkylin16.04内核4.4.0-22启动错误,做了好几次都不行,楼主能提供下启动文件吗?谢谢!!

已上传同版本的UBUNTU两个启动文件,到KLOOP共享目录内。请试用。

点评

谢谢楼主 十分感谢 我试试  详情 回复 发表于 2016-5-12 03:56
回复

使用道具 举报

235#
发表于 2016-5-12 03:56:39 | 只看该作者
2011niumao 发表于 2016-5-11 10:18
已上传同版本的UBUNTU两个启动文件,到KLOOP共享目录内。请试用。

谢谢楼主 十分感谢 我试试
回复

使用道具 举报

236#
发表于 2016-5-13 10:43:02 | 只看该作者

什么情况啊 谢谢楼主

点评

看样子,没有找到vhd所在的ntfs分区.以往有过这样情形,应该是UUID的参数没有起到作用. 这样需要修改引导信息中 linux 的参数 root=UUID=XXXXXXXXXXXXXXXXX 为 root=/dev/sdaX 或者 root=LABEL=XXXXX . 在gru  详情 回复 发表于 2016-5-13 13:08
看样子,没有找到vhd所在的ntfs分区.以往有过这样情形,应该是UUID的参数没有起到作用. 这样需要修改引导信息中 linux 的参数 root=UUID=XXXXXXXXXXXXXXXXX 为 root=/dev/sdaX 或者 root=LABEL=XXXXX . 在gru  详情 回复 发表于 2016-5-13 13:08
看样子,没有找到vhd所在的ntfs分区.以往有过这样情形,应该是UUID的参数没有起到作用. 这样需要修改引导信息中 linux 的参数 root=UUID=XXXXXXXXXXXXXXXXX 为 root=/dev/sdaX 或者 root=LABEL=XXXXX . 在gru  详情 回复 发表于 2016-5-13 13:08
回复

使用道具 举报

237#
 楼主| 发表于 2016-5-13 13:08:25 | 只看该作者
wangziqiang 发表于 2016-5-13 10:43
什么情况啊 谢谢楼主

看样子,没有找到vhd所在的ntfs分区.以往有过这样情形,应该是UUID的参数没有起到作用.
这样需要修改引导信息中 linux 的参数 root=UUID=XXXXXXXXXXXXXXXXX 为

root=/dev/sdaX 或者 root=LABEL=XXXXX .

在grub2菜单按e键,进入编辑模式,修改完后按F10键引导. 其中 sdaX的X ,对于主分区是1234  对于逻辑分区,是5678等. LABEL=XXXXX的XXXXX是分区标签,不能有汉字.  
回复

使用道具 举报

238#
 楼主| 发表于 2016-5-13 13:08:28 | 只看该作者
wangziqiang 发表于 2016-5-13 10:43
什么情况啊 谢谢楼主

看样子,没有找到vhd所在的ntfs分区.以往有过这样情形,应该是UUID的参数没有起到作用.
这样需要修改引导信息中 linux 的参数 root=UUID=XXXXXXXXXXXXXXXXX 为

root=/dev/sdaX 或者 root=LABEL=XXXXX .

在grub2菜单按e键,进入编辑模式,修改完后按F10键引导. 其中 sdaX的X ,对于主分区是1234  对于逻辑分区,是5678等. LABEL=XXXXX的XXXXX是分区标签,不能有汉字.  
回复

使用道具 举报

239#
 楼主| 发表于 2016-5-13 13:08:36 | 只看该作者
wangziqiang 发表于 2016-5-13 10:43
什么情况啊 谢谢楼主

看样子,没有找到vhd所在的ntfs分区.以往有过这样情形,应该是UUID的参数没有起到作用.
这样需要修改引导信息中 linux 的参数 root=UUID=XXXXXXXXXXXXXXXXX 为

root=/dev/sdaX 或者 root=LABEL=XXXXX .

在grub2菜单按e键,进入编辑模式,修改完后按F10键引导. 其中 sdaX的X ,对于主分区是1234  对于逻辑分区,是5678等. LABEL=XXXXX的XXXXX是分区标签,不能有汉字.  

点评

谢谢楼主耐心帮助 完美解决  详情 回复 发表于 2016-5-14 06:23
回复

使用道具 举报

240#
发表于 2016-5-14 06:23:27 | 只看该作者
2011niumao 发表于 2016-5-13 13:08
看样子,没有找到vhd所在的ntfs分区.以往有过这样情形,应该是UUID的参数没有起到作用.
这样需要修改引导 ...

谢谢楼主耐心帮助 完美解决
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-4-26 18:42

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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