无忧启动论坛

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

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

    [复制链接]
331#
发表于 2017-5-1 12:07:28 | 只看该作者
回复

使用道具 举报

332#
发表于 2017-6-19 16:54:33 | 只看该作者
这方法在UBUNTU17.03也可用,希望做成个程序,能自动生成initrd。img,用起来省事,谢谢!
回复

使用道具 举报

333#
发表于 2017-6-26 21:18:30 | 只看该作者
请问引导动态vhd中的centos系统有什么好的方法建议吗?

点评

使用动态vhd,qemu-nbd方式是可以的,但是我测试后很卡顿,不太推荐。可以把附件解压到 你的主目录以内,然后命令行取得root权限后执行以下命令来制作initramfs。另外需要手工编译安装ntfs-3g一次。  详情 回复 发表于 2017-7-7 19:20
回复

使用道具 举报

334#
 楼主| 发表于 2017-7-7 19:20:35 | 只看该作者
本帖最后由 2011niumao 于 2017-7-7 19:27 编辑
helloxixi 发表于 2017-6-26 21:18
请问引导动态vhd中的centos系统有什么好的方法建议吗?


使用动态vhd,qemu-nbd方式是可以的,但是我测试后很卡顿,不太推荐。可以把附件解压到
你的主目录以内,然后命令行取得root权限后执行以下命令来制作initramfs。注意更改niumao为你的用户名。

另外应该手工编译安装ntfs-3g一次。

引导使用grub2就可以。引导参数三个,root=vhd文件所在分区,qemunbd=vhd文件带路径名字,kroot=/dev/mapper/nbd0p1
还有内核文件 vmlinuz dracut-centos应该放在vhd文件外面。
  1. sudo dracut  -i /home/niumao/mydracut/10-vhdmount-kloop.sh /lib/dracut/hooks/pre-mount/10-vhdmount-kloop.sh  --no-hostonly  --install " vi /etc/virc ps grep cat rm blkid losetup  kpartx partx mount.fuse mount.ntfs-3g ntfs-3g shutdown  "   --add-drivers  "fuse dm-mod "  -o " plymouth btrfs crypt  cifs fcoe fcoe-uefi iscsi nfs "  /home/niumao/dracut-centos
复制代码

myvhd-test.zip

1.04 KB, 下载次数: 14, 下载积分: 无忧币 -2

qemu-nbd

点评

你好,请问一下,动态的 ubuntu vhd 用 qemu-nbd 方案,启动的时候 vhd 是可以正确挂起来,但是 switch root 的时候提示 nbd shutting down sockets ,然后就是一系列 io 错误,是被 kill 掉了吗? 用 exec 方式启动  详情 回复 发表于 2022-11-23 13:11
谢谢,现在已经可以引导使用了,现在有另外一个问题,就是关机,或者重启的时候系统会卡住,原因应该是centos先把盘摘掉了,导致关机找不到文件,所以关机和重启都失败,我的物理硬盘文件系统是ext4,这个问题有什么  详情 回复 发表于 2017-8-1 10:03
回复

使用道具 举报

335#
发表于 2017-7-24 03:50:41 | 只看该作者
支持一个
回复

使用道具 举报

336#
发表于 2017-8-1 10:03:25 | 只看该作者
2011niumao 发表于 2017-7-7 19:20
使用动态vhd,qemu-nbd方式是可以的,但是我测试后很卡顿,不太推荐。可以把附件解压到
你的主目录以 ...

谢谢,现在已经可以引导使用了,现在有另外一个问题,就是关机,或者重启的时候系统会卡住,原因应该是centos先把盘摘掉了,导致关机找不到文件,所以关机和重启都失败,我的物理硬盘文件系统是ext4,这个问题有什么好的解决方法,或者解决方向吗?

点评

一般使用vhd是因为ntfs上无法安装linux所以使用固定大小vhd(可变的虽然可以用但是速度慢不推荐)。 既然你在ext4分区上,可以尝试把centos安装到一个子目录内的方法,具体说可以把vhd系统 先使用rsync同步到一个  详情 回复 发表于 2017-8-13 14:27
关机问题,如果vhd文件在ntfs分区上,应该是解决了的,因为修改ntfs-3g并且手动编译安装就是为了解决关机时候卸载分区问题。现在分区是ext4就我不会了。不过有一个思路,从arch而来的,是再写一个脚本放入initramfs  详情 回复 发表于 2017-8-1 16:30
回复

使用道具 举报

337#
 楼主| 发表于 2017-8-1 16:23:09 来自手机 | 只看该作者
恭喜引导成功。关机问题,如果vhd文件在ntfs分区
回复

使用道具 举报

338#
 楼主| 发表于 2017-8-1 16:30:01 来自手机 | 只看该作者
helloxixi 发表于 2017-8-1 10:03
谢谢,现在已经可以引导使用了,现在有另外一个问题,就是关机,或者重启的时候系统会卡住,原因应该是ce ...

关机问题,如果vhd文件在ntfs分区上,应该是解决了的,因为修改ntfs-3g并且手动编译安装就是为了解决关机时候卸载分区问题。现在分区是ext4就我不会了。不过有一个思路,从arch而来的,是再写一个脚本放入initramfs中,在挂载好根分区后把一些initramfs里的东西拷贝到/run/initramfs中。这样关机时候systemd会重新挂载并跳到initramfs中。但我没有作过,你可以试试。

点评

centos6.5 使用的是systemV init 不是systemd ,这两种不同的方式解决思路有什么区别没?  详情 回复 发表于 2017-8-2 16:44
回复

使用道具 举报

339#
发表于 2017-8-2 16:44:00 | 只看该作者
2011niumao 发表于 2017-8-1 16:30
关机问题,如果vhd文件在ntfs分区上,应该是解决了的,因为修改ntfs-3g并且手动编译安装就是为了解决关机 ...

centos6.5 使用的是systemV init 不是systemd ,这两种不同的方式解决思路有什么区别没?

点评

好像systemV 比较简单。只要找到挂载根分区后操作脚本,可以插入 cp 一个语句。总的说来不一定管用,只能是一种尝试。附件是ubuntu的那个操作对应脚本  详情 回复 发表于 2017-8-2 17:20
回复

使用道具 举报

340#
 楼主| 发表于 2017-8-2 17:20:59 | 只看该作者
helloxixi 发表于 2017-8-2 16:44
centos6.5 使用的是systemV init 不是systemd ,这两种不同的方式解决思路有什么区别没?

好像systemV 比较简单。只要找到挂载根分区后操作脚本,可以插入 cp 一个语句。总的说来不一定管用,只能是一种尝试。附件是ubuntu的那个操作对应脚本 ntfs_3g.zip (578 Bytes, 下载次数: 5)

回复

使用道具 举报

341#
 楼主| 发表于 2017-8-13 14:27:39 | 只看该作者
helloxixi 发表于 2017-8-1 10:03
谢谢,现在已经可以引导使用了,现在有另外一个问题,就是关机,或者重启的时候系统会卡住,原因应该是ce ...

一般使用vhd是因为ntfs上无法安装linux所以使用固定大小vhd(可变的虽然可以用但是速度慢不推荐)。
既然你在ext4分区上,可以尝试把centos安装到一个子目录内的方法,具体说可以把vhd系统
先使用rsync同步到一个空子目录内,然后改造制作initramfs,使其可以引导到子目录系统内。
方法参考第一楼的链接。
回复

使用道具 举报

342#
发表于 2017-8-24 11:23:52 | 只看该作者
非常好的教程
回复

使用道具 举报

343#
发表于 2017-9-3 17:12:22 | 只看该作者
请教下大侠,在GRUB2引导VHD启动过程中,能否不显示跑代码的页面?
回复

使用道具 举报

344#
 楼主| 发表于 2017-9-12 07:40:48 来自手机 | 只看该作者
本帖最后由 2011niumao 于 2017-9-12 10:26 编辑

在grub2的菜单文件,如 grubpc.cfg或者grubefi.cfg里面的linux语句后面加个 quiet  可以不出现引导信息,静默引导。
回复

使用道具 举报

345#
发表于 2017-10-22 17:28:32 | 只看该作者
本帖最后由 jxdeng2017 于 2017-10-22 17:33 编辑

老大好,Ubuntu 17.10 , Ubuntu Kylin 17.10 都出来了,老大可以试试牛刀了。

Ubuntu 17.10  https://www.ubuntu.com/download/desktop

Ubuntu Kylin 17.10   http://ubuntukylin.com/


我试了一下, 4.13 内核, 用 老大定制的 UBUNTU 16.04  内核可以的啊。。

点评

谢谢。教程已经够了,大家可以自己摆弄。就不发布系统了。  发表于 2017-11-1 11:13
回复

使用道具 举报

346#
发表于 2017-11-1 15:47:55 | 只看该作者
请问安装好的VHD系统可以直接升级吗?升级后需不需要重新做initrd.img?谢谢。

点评

可以升级。一般会自动生成新的initrd.img。但是最好能有一个备份,以防万一。  详情 回复 发表于 2017-11-6 14:56
回复

使用道具 举报

347#
 楼主| 发表于 2017-11-6 14:56:24 | 只看该作者
wdtx 发表于 2017-11-1 15:47
请问安装好的VHD系统可以直接升级吗?升级后需不需要重新做initrd.img?谢谢。

可以升级。一般会自动生成新的initrd.img。但是最好能有一个备份,以防万一。
回复

使用道具 举报

348#
发表于 2017-11-6 16:16:47 | 只看该作者
楼主技术不错,赞一个先。

使用中发现两个小情况,一是楼上那些找不到uuid,最后只能用root=/dev/sdax启动的同学,换个新的grub4dos版本,就没问题啦。

还有一个是硬件兼容问题,在楼主度娘网盘里,下载最新UBT-small.vhd.7z的1.2G版本,安装了一个台式机,死活进不去,老是卡死在登录画面。而换一台机器,又能进,实在是很郁闷。(ps: 换回那个UBT-small.vhd.7z的500M版本,兼容性很好,几台机器试下来,正常运行完全OK)

回复

使用道具 举报

349#
发表于 2017-11-14 14:22:49 | 只看该作者
继续折腾中,用楼主发布的UBT-small版本,NV显卡驱动死活装不上。无奈只能升级内核,发现意外的简单。

1. 下载官方的deb新版内核包,安装。
2. 在VMWARE里重启VHD系统,进入虚拟机,这时候是新内核,按照楼主的方法生成一下新的initrd.img即可。
3. 覆盖掉老的initrd.img,完美进入新内核VHD系统,正常安装NV显卡驱动,完全无压力:)
回复

使用道具 举报

350#
发表于 2017-11-15 17:05:51 | 只看该作者
继续折腾中,试了一下最新版本的Ununtu17, 有楼主的initrd.img改版完美引导,新版本貌似不在乎用啥内核。方法如下:

1. 新建8G空的VHD,用VMware挂上,安装官方的ISO系统。
2. 把安装后的VHD扔到根目录下,配合楼主的两个改版内核文件,建立grub菜单,完美引导。
回复

使用道具 举报

351#
发表于 2017-11-20 11:39:32 | 只看该作者
VHD用了一段时间,挺好用。就是每次ctrl+alt+F1切换到别的tty,会提示io错误,也不知道会不会损坏镜像文件?

楼主有办法解决这问题吗??

点评

还不会解决这种问题。不过不会损坏系统。  详情 回复 发表于 2017-11-21 11:58
回复

使用道具 举报

352#
 楼主| 发表于 2017-11-21 11:58:32 | 只看该作者
v2excoc 发表于 2017-11-20 11:39
VHD用了一段时间,挺好用。就是每次ctrl+alt+F1切换到别的tty,会提示io错误,也不知道会不会损坏镜像文件 ...

还不会解决这种问题。不过不会损坏系统。
回复

使用道具 举报

353#
发表于 2017-12-18 12:01:00 | 只看该作者
新版的17.04也能按这方法制作成功,希望高手能编写个自动生成可以引导VHD系统的initrd.img 的脚本,大大简化制作过程。
回复

使用道具 举报

354#
发表于 2018-3-10 13:36:48 | 只看该作者
本帖最后由 Hongrongqi 于 2018-3-10 14:07 编辑

https://pan.baidu.com/s/1W672QMoDy5RzcjQzhT1Zcw

请问老师这是那里错了

1.jpg (323.36 KB, 下载次数: 153)

2

2

2.jpg (449.93 KB, 下载次数: 132)

1

1

Screenshot_20180310-134kkll.jpg (286.51 KB, 下载次数: 136)

3

3

点评

/dev/sda5 不存在。是不是分区没有写对?或者引导时候加入参数 rootdelay=90 看看。  详情 回复 发表于 2018-3-10 16:54
回复

使用道具 举报

355#
 楼主| 发表于 2018-3-10 16:54:34 | 只看该作者
Hongrongqi 发表于 2018-3-10 13:36
https://pan.baidu.com/s/1W672QMoDy5RzcjQzhT1Zcw

请问老师这是那里错了

/dev/sda5 不存在。是不是分区没有写对?或者引导时候加入参数 rootdelay=90 看看。

点评

我就分一个分区,/dev/sda5是什么的路径  详情 回复 发表于 2018-3-10 23:57
回复

使用道具 举报

356#
发表于 2018-3-10 23:57:55 | 只看该作者
2011niumao 发表于 2018-3-10 16:54
/dev/sda5 不存在。是不是分区没有写对?或者引导时候加入参数 rootdelay=90 看看。

我就分一个分区,/dev/sda5是什么的路径
回复

使用道具 举报

357#
 楼主| 发表于 2018-3-11 11:48:15 来自手机 | 只看该作者
图片信息是,/dev/sda5挂载在root上,看来也许是引导信息不对。

点评

我改成sda1 显示挂载不dev/run或找不到  详情 回复 发表于 2018-3-11 12:21
回复

使用道具 举报

358#
发表于 2018-3-11 12:21:00 来自手机 | 只看该作者
2011niumao 发表于 2018-3-11 11:48
图片信息是,/dev/sda5挂载在root上,看来也许是引导信息不对。

我改成sda1 显示挂载不dev/run或找不到

IMG_20180311_042842.jpg (91.08 KB, 下载次数: 147)

IMG_20180311_042842.jpg
回复

使用道具 举报

359#
 楼主| 发表于 2018-3-11 23:04:41 来自手机 | 只看该作者
那就不懂了。说一下你的分区情况和引导参数。难道是sda2,也许有个引导分区占据了sda1。
回复

使用道具 举报

360#
 楼主| 发表于 2018-3-11 23:06:23 来自手机 | 只看该作者
现在都可以通过搜索来寻找根分区,并传递uuid给内核的。

点评

if search --no-floppy -f /ubuntu/UBT-small.vhd; then menuentry "UBT-small.vhd " --class ubuntu { insmod gzio insmod part_msdos insmod part_gpt insmod ext2 insmod ntfs insmod probe set  详情 回复 发表于 2018-3-12 00:35
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-1 05:48

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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