2011niumao 发表于 2021-2-20 10:40:30

piazini 发表于 2021-2-19 13:29
我想进入单用户模式,但是怎么修改grub的相关文件就是不生效。修改完要用update-grub命令,难道和vhd同目录 ...

第一个,是linux本身命令,不懂. 还是建议不直接扩容而是使用mksquashfs命令备份后恢复这种方式.
第二个, 直接启动到vhd系统的grub菜单现在应该是在vhd外面的,与vhd系统无关(vhd系统的grub2菜单仅仅在虚拟机启动时候有用)

piazini 发表于 2021-2-21 14:03:56

LZ,我扩容的目的就是想着长期使用,我想其他方法:
1.重新创建个VHD(IMG)专门存放自己的数据mount到VHD系统某个目录下,而且系统坏了也不怕数据丢失。类似win的非系统盘。
2.VM虚拟机用gparted重新扩容好后,在转换成VHD文件,我试过不重新编译VHD外的引导文件,也是可以启动的。这个转换就是看磁盘读写速度,我是固态大概2分左右就好了。

我遇到的问题,进VHD系统用gparted只能识别到sda1、sda2(就是我的win的C盘D盘),我尝试修改win下的kroot=/dev/mapper/loop0p1 为kroot=/dev/sda1 修改完VHD系统就启动不了,想问下除了引导菜单的kroot要修改,其他什么地方还需要修改。

2011niumao 发表于 2021-2-21 22:04:19

第一点,可以进入系统后手动挂载. 或者写成一个脚本,开机后自动运行一下也行.
比如,你的第二个固定vhd文件名字为data.vhd, 在系统vhd同一个子目录ubuntu里面, 可以如下sudo kpartx -av /host/ubuntu/data.vhd
sudo mount /dev/mapper/loopXp1 /home/ubuntu
这里X要看kpartx 的输出而定的.

第三点, kloop指的是vhd文件, kroot指的是启动后根设备在ubuntu系统内部名称, 修改了就找不到根设备了. 这个是不能修改的, 如果想启动过程中完成第二块vhd 硬盘的挂载, 也可以修改local文件, 设计一个新参数使得,如果新参数是空值则与原始vhd启动一样;在这个新参数不空的时候系统会在initrd.img阶段挂载完根目录后再执行kpartx 并且挂载第二个vhd到一个固定目录内.

piazini 发表于 2021-3-10 20:04:56

https://s3.ax1x.com/2021/03/10/6JvbCT.jpg
LZ,能帮忙看看这是什么原因造成的么?
生成出来的initrd.img-5.4.0-42-generic有60多M ,之前能引导的才40M多

2011niumao 发表于 2021-3-11 10:28:33

piazini 发表于 2021-3-10 20:04
LZ,能帮忙看看这是什么原因造成的么?
生成出来的initrd.img-5.4.0-42-generic有60多M ,之前能引导的 ...

根分区没有正确挂载。 检查一下引导单数是不是正确无误,或者可能需要重新制作initrd.img
(有时候升级会把那些手工编辑好的init local的丢失,都还原为原始版本了,这时候系统自动制作的initrd.img可能没有引导vhd的代码,需要重新手工制作)
至于initrd.img的大小不必在意吧, 我的initrd.img有90多M.

2011niumao 发表于 2021-3-11 10:33:54

本帖最后由 2011niumao 于 2021-3-11 10:52 编辑

piazini 发表于 2021-3-10 20:04
LZ,能帮忙看看这是什么原因造成的么?
生成出来的initrd.img-5.4.0-42-generic有60多M ,之前能引导的 ...
编辑文件/usr/share/initramfs-tools/scripts/local-bottom/ntfs-3g有些变化,其内容如下#!/bin/sh

set -e
case "${1}" in
      prereqs)
                exit 0
                ;;
esac

if [ "${ROOTFSTYPE}" = ntfs ] || [ "${ROOTFSTYPE}" = ntfs-3g ] || \
   [ "${LOOPFSTYPE}" = ntfs ] || [ "${LOOPFSTYPE}" = ntfs-3g ] || [ -n "$KLOOP" ] || [ -n "$SQUASHFS" ]
then
      mkdir -p /run/sendsigs.omit.d
      pidof @ount.ntfs-3g >> /run/sendsigs.omit.d/ntfs-3g
fi
exit 0

删除了原来说明里的最后一段(不删除的话关机时候会死机panic)

piazini 发表于 2021-3-11 14:09:53

2011niumao 发表于 2021-3-11 10:28
根分区没有正确挂载。 检查一下引导单数是不是正确无误,或者可能需要重新制作initrd.img
(有时候升级会 ...

引导单数?是什么没懂。我用同一个vhd文件,一个新做的initrd.img-5.4.0-42-generic(新)60M、另一个以前做的 initrd.img-5.4.0-42-generic(旧)40M,用(旧)的initrd.img-5.4.0-42-generic能启动,在不改动其他配置和文件路径下,换成(新)这个initrd.img-5.4.0-42-generic就出现图片里的状况了。

2011niumao 发表于 2021-3-11 22:51:57

本帖最后由 2011niumao 于 2021-3-11 22:54 编辑

piazini 发表于 2021-3-11 14:09
引导单数?是什么没懂。我用同一个vhd文件,一个新做的initrd.img-5.4.0-42-generic(新)60M、另一个以 ...
检查init文件的权限,让其有可执行权限。 也许能行。
(引导单数应该改为引导参数,就是引导时候你告诉机器的root kloop kroot这几个的值是不是正确)




friend8179 发表于 2021-3-13 08:53:37

楼主,第一关就卡住了,理论上解压出来是UBUNTU2004.squashfs这一个文件,我的7z解压出来是个文件夹

2011niumao 发表于 2021-3-13 22:43:07

本帖最后由 2011niumao 于 2021-3-13 22:44 编辑

friend8179 发表于 2021-3-13 08:53
楼主,第一关就卡住了,理论上解压出来是UBUNTU2004.squashfs这一个文件,我的7z解压出来是个文件夹
不推荐下载做好的系统,推荐自己在win下制作固定大小vhd(16G或更大),霍清华开源镜像网站下载官方的ubuntu iso
在VirtualBox虚拟机安装好安装,再依照mydracut里的教程制作initrd.img。

faoao 发表于 2021-3-14 22:32:16

赞,谢谢

piazini 发表于 2021-3-16 18:15:08

2011niumao 发表于 2021-3-11 22:51
检查init文件的权限,让其有可执行权限。 也许能行。
(引导单数应该改为引导参数,就是引导时候你告诉 ...

谢谢楼主的提点,成功了。
修改权限、和用户、和所属组就好了
sudo chmod 755 /usr/share/initramfs-tools/init
sudo chown root:root /usr/share/initramfs-tools/init

piazini 发表于 2021-4-19 22:33:47

LZ想请教下,显卡的安装。因为我在网上找的教程都是磁盘上划分区来装的系统,找了好久也没找到VHD系统里的关于安装显卡驱动的。
https://imgtu.com/i/cTs9PA
https://imgtu.com/i/cTsS5d
图片里就是电脑显卡,网上查说默认是使用第三方的显卡驱动,我也尝试关闭nouveau但是总不成功。
当我执行sudo update-initramfs -u时我看到/boot目录觉得又要编译引导了。关键是这次在虚拟机里也不能识别显卡。ubuntu 自带的功能也搜索不到显卡。但是用VHD启动的系统就能搜索出相关的驱动。
现在没方向了,应要怎么弄,才能装上显卡驱动?

2011niumao 发表于 2021-4-20 11:43:05

piazini 发表于 2021-4-19 22:33
LZ想请教下,显卡的安装。因为我在网上找的教程都是磁盘上划分区来装的系统,找了好久也没找到VHD系统里的 ...

开源驱动一般足够使用,不推荐安装专有驱动。对于N卡,确有需要安装时,
先下载驱动文件,命令行下安装。最好安装以前使用mksquashfs命令备份一下系统。

piazini 发表于 2021-4-24 23:17:39

LZ,经过实验,还是没有那么难。做好关键一步,关闭集显,重新生成initrd.img-xxxxx-generic就可以了。
$ sudo bash -c "echo blacklist vga16fb >> /etc/modprobe.d/blacklist.conf" && \
$ sudo bash -c "echo blacklist nouveau >> /etc/modprobe.d/blacklist.conf" && \
$ sudo bash -c "echo blacklist rivafb >> /etc/modprobe.d/blacklist.conf" && \
$ sudo bash -c "echo blacklist rivatv >> /etc/modprobe.d/blacklist.conf" && \
$ sudo bash -c "echo options nouveau modeset=0 >> /etc/modprobe.d/blacklist.conf"
$ sudo sed -i 's+blacklist nvidiafb+#blacklist nvidiafb+g' /etc/modprobe.d/blacklist.conf
$ sudo update-initramfs -u

自动安装就是用ubuntu系统里自带的“软件和更新”--“附加驱动”安装就可以了。
手动安装,详细http://cnblogs.com/wutou/p/14375834.html看这篇吧,都写出来了。

能不能建个WX群,前几天论坛访问不了,真怕论坛哪天就关闭了,文章也就没了,联系不了。

songjl1995 发表于 2021-5-13 15:44:17

2011niumao 发表于 2021-3-11 10:33
piazini 发表于 2021-3-10 20:04

编辑文件/usr/share/initramfs-tools/scripts/local-bottom/ntfs-3g有 ...

我也遇到这个问题了,是Ubuntu20.04这几个版本更新的时候需要按照原先的操作,重新配置一下吗?

songjl1995 发表于 2021-5-13 17:22:59

songjl1995 发表于 2021-5-13 15:44
我也遇到这个问题了,是Ubuntu20.04这几个版本更新的时候需要按照原先的操作,重新配置一下吗?

我重新改了一下,发现还是没办法启动,是不能完全按照原先的方法改,还是说NTFS的那个驱动要重装?

2011niumao 发表于 2021-5-14 08:32:07

毛病是没有正确挂载vhd文件所在的硬盘分区。保险的话,重新把所有手续过一遍:
就是重新编译安装ntfs-3g,重新编辑各个文件,重新生成新的initrd.img。

songjl1995 发表于 2021-5-14 17:17:04

2011niumao 发表于 2021-5-14 08:32
毛病是没有正确挂载vhd文件所在的硬盘分区。保险的话,重新把所有手续过一遍:
就是重新编译安装ntfs-3g, ...

谢谢大佬回复,我再看看

songjl1995 发表于 2021-5-14 18:31:17

还是不行
我看现在帖子里这一部分
      ##############################################################
      #                         TO BOOT FROM VHD                   #
      ##############################################################
记得原来不是这样,这个文件应该修改为什么样子呀?
NTFS-3g也是要换新的?

2011niumao 发表于 2021-5-14 19:14:07

songjl1995 发表于 2021-5-14 18:31
还是不行
我看现在帖子里这一部分
      ########################################################## ...



看看附件,附件是新版本的。注意init文件的大小写。

songjl1995 发表于 2021-5-15 09:32:13

2011niumao 发表于 2021-5-14 19:14
看看附件,附件是新版本的。注意init文件的大小写。

收到,谢谢大佬

songjl1995 发表于 2021-5-24 16:19:26

大佬,我研究了半天卡在一个小问题上
关于vmlinuz
我是ubuntu20.04
我现在自己重新编的新的initrd.img-5.8.0-53-generic可以配合原来的vmlinuz-5.8.0-44-generic启动
但是不能配合boot里面的vmlinuz-5.8.0-53-generic启动
这个vmlinuz-5.8.0-53-generic怎么让它重新生成一份呀?

2011niumao 发表于 2021-5-24 17:23:19

songjl1995 发表于 2021-5-24 16:19
大佬,我研究了半天卡在一个小问题上
关于vmlinuz
我是ubuntu20.04


这个说法有问题。vmlinuz一般没有问题的。可能你在制作initrd.img时候是使用的是5.8.0-44内核。
你需要把内核版本号附加在mkinitramfs后面如下。这样得到指定版本号的initrd.img.sudo mkinitramfs-o initrd.img-myinitrd 5.8.0-54-generic

songjl1995 发表于 2021-5-24 17:40:15

2011niumao 发表于 2021-5-24 17:23
这个说法有问题。vmlinuz一般没有问题的。可能你在制作initrd.img时候是使用的是5.8.0-44内核。
你需要 ...

我之前输入的命令是这样的
sudo /usr/sbin/mkinitramfs -o ~/initrd.img-5.8.0-53-generic
然后复制到启动的路径下的

songjl1995 发表于 2021-5-24 17:43:47

2011niumao 发表于 2021-5-24 17:23
这个说法有问题。vmlinuz一般没有问题的。可能你在制作initrd.img时候是使用的是5.8.0-44内核。
你需要 ...

大佬厉害,现在解决了。感谢,真的太感谢了

piazini 发表于 2021-5-25 21:55:14

LZ,这问题你有没有遇到过,blk_update_request: I/O error, dev loop0, sector 223800 op 0x9:(WRITE_ZEROES) flags 0x800 phys_seg 0 prio class 0

====详细日志===================================================
13:51:06 systemd: Failed to start snap.gnome-logs.gnome-logs.096b7e93-fea2-43ec-9e8d-3f205902082f.scope.
13:50:55 kernel: blk_update_request: I/O error, dev loop0, sector 223800 op 0x9:(WRITE_ZEROES) flags 0x800 phys_seg 0 prio class 0
13:50:55 kernel: blk_update_request: I/O error, dev loop0, sector 223800 op 0x9:(WRITE_ZEROES) flags 0x800 phys_seg 0 prio class 0
13:50:55 kernel: blk_update_request: I/O error, dev loop0, sector 223768 op 0x9:(WRITE_ZEROES) flags 0x800 phys_seg 0 prio class 0
13:50:55 kernel: blk_update_request: I/O error, dev loop0, sector 223736 op 0x9:(WRITE_ZEROES) flags 0x800 phys_seg 0 prio class 0
13:50:52 bluetoothd: Failed to set mode: Blocked through rfkill (0x12)
13:50:52 spice-vdagent: Cannot access vdagent virtio channel /dev/virtio-ports/com.redhat.spice.0
13:50:51 pulseaudio: backend-ofono.c: Failed to register as a handsfree audio agent with ofono: org.freedesktop.DBus.Error.ServiceUnknown: The name org.ofono was not provided by any .service files
13:50:49 bluetoothd: Failed to set mode: Blocked through rfkill (0x12)

piazini 发表于 2021-5-25 22:00:18

songjl1995 发表于 2021-5-13 15:44
我也遇到这个问题了,是Ubuntu20.04这几个版本更新的时候需要按照原先的操作,重新配置一下吗?

不好意思,很久没来了。你编译时用命令自动获取版本号
sudo /usr/sbin/mkinitramfs -o ~/initrd.img-`uname -r`

你可以上到492楼(http://bbs.wuyou.net/forum.php?mod=redirect&goto=findpost&ptid=336079&pid=4258709&fromuid=349519)

升级后,原来文件会被覆盖,所以要重新执行一遍,最后要给文件个权限:
sudo chmod 755 /usr/share/initramfs-tools/init
sudo chown root:root /usr/share/initramfs-tools/init

piazini 发表于 2021-5-25 22:03:34

songjl1995 发表于 2021-5-13 15:44
我也遇到这个问题了,是Ubuntu20.04这几个版本更新的时候需要按照原先的操作,重新配置一下吗?

更保险的是两个文件都加上执行权限(下面命令四行可以一起复制到命令行)
sudo chmod 755 /usr/share/initramfs-tools/init && \
sudo chown root:root /usr/share/initramfs-tools/init && \
sudo chmod 755 /usr/share/initramfs-tools/scripts/local-bottom/ntfs_3g && \
sudo chown root:root /usr/share/initramfs-tools/scripts/local-bottom/ntfs_3g

piazini 发表于 2021-5-31 21:35:23

piazini 发表于 2021-5-25 21:55
LZ,这问题你有没有遇到过,blk_update_request: I/O error, dev loop0, sector 223800 op 0x9:(WRITE_ZEROES ...

楼主,经过使用在Docker里load总共15G左右的images时就会卡死,无意间在字符界面发现了问题,下图,网上查询,是因为缓存满了要写入磁盘,而I/O又没有那么快速度,而且系统还有120秒限制,网上有人贴出内核代码,确实是内核默认设置120秒,系统想把120设置成0但是又不成功,所以就卡在那里就不动。只能用alt+sysrq+r+e+i+s+u+b重启,无意中发现alt+sysrq+r+e+o是关机。我手动 sudo echo 0 也是提示权限不足。
现在遇到问题:
1.同样的文件从vmdk克隆到vhd 之前的VHD就没有提示过磁盘I/O问题,最近新做了一个VHD(扩容)就开始中卡死。
2.那个sudo echo 0 手动也失败。
LZ,有没有思路给提醒下。怎么修复磁盘I/O问题?

https://z3.ax1x.com/2021/05/31/2mNmNQ.jpg
页: 7 8 9 10 11 12 13 14 15 16 [17] 18 19 20
查看完整版本: 从 固定VHD与只读squashfs引导LINUX, UBUNTU ARCH Fedora Opensuse Mageia五种