无忧启动论坛

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

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

    [复制链接]
 楼主| 发表于 2022-10-16 10:21:25 | 显示全部楼层
本帖最后由 2011niumao 于 2022-10-16 10:33 编辑
piazini 发表于 2022-10-15 21:48
2011niumao大佬,

在ubt18.04的VHD扩容,直接用 DiskGenius 克隆功能,复制到新 VHD 文件里,就完成扩容 ...

使用DG来扩容的问题我不理解,有可能是根分区的UUID与原始系统不同,需要手工编辑/etc/fstab文件里的根分区信息。
推荐一种我用的方法,主要是在ubuntu系统下把现有的ubuntu系统复制到另一个vhd里去:

在windows下制作一个新的容量很大的固定大小vhd。在VBox中把这个新vhd附加到ubuntu系统中,启动到旧ubuntu中,然后把根分区,新vhd挂载到两个临时目录内,使用rsync命令复制旧系统文件到新vhd内。最后手工编辑新vhd内/etc/fstab文件,把根分区UUID修改正确即可。这些操作也可以在电脑启动到vhd内ubuntu系统里后进行的。主要命令如下
  1.     sudo mkdir /tmp/mm /tmp/tt
  2.     sudo mount /dev/mapper/loop0p2 /tmp/mm
  3.     sudo mount /dev/mapper/loop1p2 /tmp/tt
  4.     sudo rsync -SHav /tmp/mm/* /tmp/tt/
复制代码

回复

使用道具 举报

 楼主| 发表于 2022-10-16 10:41:40 | 显示全部楼层

local文件里增加的代码,注意空格

本帖最后由 2011niumao 于 2022-10-16 10:43 编辑
  1. if  [    -n    "$KLOOP"   ] ;  then
  2.         ### reset the value of the root variable
  3.         HOSTDEV="${ROOT}"
  4.         NEWROOT="${rootmnt}"
  5.         [   -n    "$KROOT"   ]   &&   ROOT="$KROOT"
  6.         [   -n    "$KROOT"   ]     ||       ROOT="/dev/loop0"
  7.         export    ROOT
  8.         realroot="$ROOT"
  9.         ###  auto probe the fs-type of the partition in which vhd-file live and mount it  /host
  10.         mkdir   -p    /host
  11.         if [    -e   ${NEWROOT}${KLOOP}    ] ;   then
  12.                 mount    --move    $NEWROOT /host
  13.         else        
  14.                 if   [    -z    "$HOSTFSTYPE"   ] ;    then
  15.                         HOSTFSTYPE="$(blkid   -s   TYPE   -o   value "${HOSTDEV}")"
  16.                         [   -z    "$HOSTFSTYPE"    -o   "${HOSTFSTYPE}"   =   "ntfs"  ]   &&   HOSTFSTYPE="ntfs-3g"
  17.                 fi
  18.                 [   "${HOSTFSTYPE}"    =    "ntfs-3g"   ]   ||   modprobe    ${HOSTFSTYPE}
  19.                 mount    -t    ${HOSTFSTYPE}   -o   rw     ${HOSTDEV}      /host
  20.         fi
  21.         ### mount the vhd-file on a loop-device
  22.         if    [    "${KLOOP#/}"    !=     "${KLOOP}"   ]  ;   then               
  23.                 modprobe  loop  
  24.                 kpartx     -av     /host${KLOOP}
  25.                 [   -e    "$realroot"    ]    ||     sleep 3
  26.         fi
  27.         ### mount the realroot / in vhd-file on $NEWROOT
  28.         if    [   -z   "${KLOOPFSTYPE}"    ] ;    then
  29.                 KLOOPFSTYPE="$(blkid   -s   TYPE   -o   value   "$realroot")"
  30.                 [   -z   "${KLOOPFSTYPE}"   ]    &&    KLOOPFSTYPE="ext4"
  31.         fi
  32.         [   -e    "$realroot"    ]     ||     sleep 3
  33.         mount    ${roflag}    -t    "${KLOOPFSTYPE}"      $realroot        $NEWROOT
  34. fi
复制代码
回复

使用道具 举报

 楼主| 发表于 2022-10-16 10:57:20 | 显示全部楼层

local文件修订注意空格

  1. if   [  -z   "$KLOOP"   ]  ;    then

  2.         if [ "${readonly}" = "y" ] && \
  3.            [ -z "$LOOP" ]; then
  4.                 roflag=-r
  5.         else
  6.                 roflag=-w
  7.         fi

  8.         # FIXME This has no error checking
  9.         [ -n "${FSTYPE}" ] && modprobe ${FSTYPE}

  10.         checkfs ${ROOT} root

  11.         # FIXME This has no error checking
  12.         # Mount root
  13.         mount ${roflag} ${FSTYPE:+-t ${FSTYPE} }${ROOTFLAGS} ${ROOT} ${rootmnt}
  14.         mountroot_status="$?"
  15. fi
复制代码
回复

使用道具 举报

发表于 2022-10-16 16:52:15 | 显示全部楼层
2011niumao 发表于 2022-10-15 13:47
第一,按照你的描述,菜单里面,应该是/dev/mapper/loop0p3
第二,root=UUID=${ddeeff}这个没错,但经 ...

安装了ubuntu2204,一次搞定,就是开机稍微久点。

mint就是不行。
回复

使用道具 举报

发表于 2022-10-16 21:26:50 | 显示全部楼层
2011niumao 发表于 2022-10-15 13:58
赞!!!  EFI模式引导,我有大量失败例子和成功例子。

主要原因是grub2的一些功能,比如查找文件,查找 ...

谢谢大神回复。回头再试试。现在在上夜班加班。
回复

使用道具 举报

发表于 2022-10-31 11:34:41 | 显示全部楼层
brux 发表于 2022-10-16 16:52
安装了ubuntu2204,一次搞定,就是开机稍微久点。

mint就是不行。

对,我也发现22启动比18 慢
回复

使用道具 举报

发表于 2022-10-31 11:35:18 | 显示全部楼层

总结一句话就是,空行可以有,但是空行不要有空格

点评

赞!!!  发表于 2022-10-31 16:13
回复

使用道具 举报

发表于 2022-10-31 11:53:17 | 显示全部楼层
回复

使用道具 举报

发表于 2022-11-6 15:10:19 | 显示全部楼层
感谢楼主提供 引导LINUX 的教程,长见识了
回复

使用道具 举报

发表于 2022-11-23 13:11:00 | 显示全部楼层
2011niumao 发表于 2017-7-7 19:20
使用动态vhd,qemu-nbd方式是可以的,但是我测试后很卡顿,不太推荐。可以把附件解压到
你的主目录以 ...

你好,请问一下,动态的 ubuntu vhd 用 qemu-nbd 方案,启动的时候 vhd 是可以正确挂起来,但是 switch root 的时候提示 nbd shutting down sockets ,然后就是一系列 io 错误,是被 kill 掉了吗? 用 exec 方式启动也是一样。
回复

使用道具 举报

发表于 2022-12-1 02:04:46 来自手机 | 显示全部楼层
做个记号,好好学习
回复

使用道具 举报

发表于 2022-12-5 20:12:28 | 显示全部楼层
有做好的ubuntu和deepin 可以分享吗?看着有些头晕
回复

使用道具 举报

发表于 2022-12-7 09:22:15 | 显示全部楼层
第五步 输入  sudo gedit /etc/initramfs-tools/modules 提示sudo: gedit:找不到命令

点评

gedit是个文本编辑器,找不到说明没安装呗,可以用vi 或者 vim,或者直接装一个  详情 回复 发表于 2022-12-12 10:40
回复

使用道具 举报

发表于 2022-12-12 10:40:11 | 显示全部楼层
abovo484 发表于 2022-12-7 09:22
第五步 输入  sudo gedit /etc/initramfs-tools/modules 提示sudo: gedit:找不到命令

gedit是个文本编辑器,找不到说明没安装呗,可以用vi 或者 vim,或者直接装一个

点评

多谢,现在用Ventoy的Linux vDisk 文件启动插件成功,在ubuntu里面启动一个vtoyboot脚本就好  详情 回复 发表于 2022-12-12 12:20
回复

使用道具 举报

发表于 2022-12-12 12:20:45 | 显示全部楼层
want20 发表于 2022-12-12 10:40
gedit是个文本编辑器,找不到说明没安装呗,可以用vi 或者 vim,或者直接装一个

多谢,现在用Ventoy的Linux vDisk 文件启动插件成功,在ubuntu里面启动一个vtoyboot脚本就好
回复

使用道具 举报

发表于 2023-1-8 23:27:54 | 显示全部楼层
留个标记, 膜拜大神
回复

使用道具 举报

发表于 2023-1-9 00:10:21 | 显示全部楼层
谢谢分享
回复

使用道具 举报

发表于 2023-1-14 15:36:01 | 显示全部楼层
看看楼主的教程帖子,学习固定VHD系统的小知识啊
回复

使用道具 举报

发表于 2023-4-30 00:53:10 | 显示全部楼层
哪里可以看到楼主的教程?
回复

使用道具 举报

发表于 2023-4-30 01:25:33 | 显示全部楼层
谢谢分享
回复

使用道具 举报

发表于 2023-5-13 21:07:38 | 显示全部楼层
谢谢分享
回复

使用道具 举报

发表于 2023-5-13 22:36:30 | 显示全部楼层
多谢分享,学习了。
回复

使用道具 举报

发表于 2023-5-31 12:31:58 | 显示全部楼层
本帖最后由 paodiao 于 2023-5-31 16:14 编辑

编辑
回复

使用道具 举报

发表于 2023-5-31 16:16:49 | 显示全部楼层
大佬,我按你的教程折腾qemunbd引导qcow2的linux成功了。就是图形界面显示有bug,颜色有些不对,而且中间有条大黑边。这种显示bug有什么解决经验吗?是驱动的问题还是设置的问题,还是别的什么问题?
回复

使用道具 举报

发表于 2023-6-2 07:01:10 来自手机 | 显示全部楼层
原来ubuntun可以vhd的
回复

使用道具 举报

发表于 2023-6-2 11:43:02 | 显示全部楼层
学习了
回复

使用道具 举报

发表于 2023-8-20 19:41:30 | 显示全部楼层
want20 发表于 2022-11-23 13:11
你好,请问一下,动态的 ubuntu vhd 用 qemu-nbd 方案,启动的时候 vhd 是可以正确挂起来,但是 switch r ...

我在ubuntu上没有这个问题但是在fedroa 的dracut上有存在initrd 切换到根文件出现nbd 设备被kill
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-3-29 02:26

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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