2011niumao 发表于 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系统里后进行的。主要命令如下
    sudo mkdir /tmp/mm /tmp/tt
    sudo mount /dev/mapper/loop0p2 /tmp/mm
    sudo mount /dev/mapper/loop1p2 /tmp/tt
    sudo rsync -SHav /tmp/mm/* /tmp/tt/

2011niumao 发表于 2022-10-16 10:41:40

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

本帖最后由 2011niumao 于 2022-10-16 10:43 编辑

if[    -n    "$KLOOP"   ] ;then
      ### reset the value of the root variable
      HOSTDEV="${ROOT}"
      NEWROOT="${rootmnt}"
      [   -n    "$KROOT"   ]   &&   ROOT="$KROOT"
      [   -n    "$KROOT"   ]   ||       ROOT="/dev/loop0"
      export    ROOT
      realroot="$ROOT"
      ###auto probe the fs-type of the partition in which vhd-file live and mount it/host
      mkdir   -p    /host
      if [    -e   ${NEWROOT}${KLOOP}    ] ;   then
                mount    --move    $NEWROOT /host
      else      
                if   [    -z    "$HOSTFSTYPE"   ] ;    then
                        HOSTFSTYPE="$(blkid   -s   TYPE   -o   value "${HOSTDEV}")"
                        [   -z    "$HOSTFSTYPE"    -o   "${HOSTFSTYPE}"   =   "ntfs"]   &&   HOSTFSTYPE="ntfs-3g"
                fi
                [   "${HOSTFSTYPE}"    =    "ntfs-3g"   ]   ||   modprobe    ${HOSTFSTYPE}
                mount    -t    ${HOSTFSTYPE}   -o   rw   ${HOSTDEV}      /host
      fi
      ### mount the vhd-file on a loop-device
      if    [    "${KLOOP#/}"    !=   "${KLOOP}"   ];   then               
                modprobeloop
                kpartx   -av   /host${KLOOP}
                [   -e    "$realroot"    ]    ||   sleep 3
      fi
      ### mount the realroot / in vhd-file on $NEWROOT
      if    [   -z   "${KLOOPFSTYPE}"    ] ;    then
                KLOOPFSTYPE="$(blkid   -s   TYPE   -o   value   "$realroot")"
                [   -z   "${KLOOPFSTYPE}"   ]    &&    KLOOPFSTYPE="ext4"
      fi
      [   -e    "$realroot"    ]   ||   sleep 3
      mount    ${roflag}    -t    "${KLOOPFSTYPE}"      $realroot      $NEWROOT
fi

2011niumao 发表于 2022-10-16 10:57:20

local文件修订注意空格

if   [-z   "$KLOOP"   ];    then

      if [ "${readonly}" = "y" ] && \
         [ -z "$LOOP" ]; then
                roflag=-r
      else
                roflag=-w
      fi

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

      checkfs ${ROOT} root

      # FIXME This has no error checking
      # Mount root
      mount ${roflag} ${FSTYPE:+-t ${FSTYPE} }${ROOTFLAGS} ${ROOT} ${rootmnt}
      mountroot_status="$?"
fi

brux 发表于 2022-10-16 16:52:15

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

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

mint就是不行。

huggsy 发表于 2022-10-16 21:26:50

2011niumao 发表于 2022-10-15 13:58
赞!!!EFI模式引导,我有大量失败例子和成功例子。

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

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

piazini 发表于 2022-10-31 11:34:41

brux 发表于 2022-10-16 16:52
安装了ubuntu2204,一次搞定,就是开机稍微久点。

mint就是不行。

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

piazini 发表于 2022-10-31 11:35:18

2011niumao 发表于 2022-10-16 10:41


总结一句话就是,空行可以有,但是空行不要有空格{:1_186:}

sxft1978 发表于 2022-10-31 11:53:17

{:1_194:}

ZMLoveLH 发表于 2022-11-6 15:10:19

感谢楼主提供 引导LINUX 的教程,长见识了

want20 发表于 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 方式启动也是一样。

abovo484 发表于 2022-12-1 02:04:46

做个记号,好好学习

abovo484 发表于 2022-12-5 20:12:28

有做好的ubuntu和deepin 可以分享吗?看着有些头晕

abovo484 发表于 2022-12-7 09:22:15

第五步 输入sudo gedit /etc/initramfs-tools/modules 提示sudo: gedit:找不到命令

want20 发表于 2022-12-12 10:40:11

abovo484 发表于 2022-12-7 09:22
第五步 输入sudo gedit /etc/initramfs-tools/modules 提示sudo: gedit:找不到命令

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

abovo484 发表于 2022-12-12 12:20:45

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

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

GuardAngelY 发表于 2023-1-8 23:27:54

留个标记, 膜拜大神

tianbian066 发表于 2023-1-9 00:10:21

谢谢分享

ZMLoveLH 发表于 2023-1-14 15:36:01

看看楼主的教程帖子,学习固定VHD系统的小知识啊

awoland 发表于 2023-4-30 00:53:10

哪里可以看到楼主的教程?

seeimpact153 发表于 2023-4-30 01:25:33

谢谢分享

龙之吻li 发表于 2023-5-13 21:07:38

谢谢分享

zhangz9 发表于 2023-5-13 22:36:30

多谢分享,学习了。

paodiao 发表于 2023-5-31 12:31:58

本帖最后由 paodiao 于 2023-5-31 16:14 编辑

编辑

paodiao 发表于 2023-5-31 16:16:49

大佬,我按你的教程折腾qemunbd引导qcow2的linux成功了。就是图形界面显示有bug,颜色有些不对,而且中间有条大黑边。这种显示bug有什么解决经验吗?是驱动的问题还是设置的问题,还是别的什么问题?

wsdyleon 发表于 2023-6-2 07:01:10

原来ubuntun可以vhd的

dododo 发表于 2023-6-2 11:43:02

学习了

ghosthark 发表于 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
页: 10 11 12 13 14 15 16 17 18 19 [20]
查看完整版本: 从 固定VHD与只读squashfs引导LINUX, UBUNTU ARCH Fedora Opensuse Mageia五种