我正在 PXE 引导一个 Ubuntu 10.10 系统,我指定内核参数如下:
append root=/dev/nfs initrd=ubuntu-boot/initrd.img-2.6.35-24-generic
nfsroot=11.22.33.44:/data/nfsroot,fsc ip=dhcp rw
Run Code Online (Sandbox Code Playgroud)
我需要使用挂载选项“fsc”才能使用 FS-cache 功能(cachefilesd 包)。但是,当我尝试这样做时,我在启动时收到以下错误:
nfsmount: bad option 'fsc'
Run Code Online (Sandbox Code Playgroud)
为什么 nfsmount 不允许这个选项?(mount -o fsc在启动后手动挂载时它工作正常。)
我mount -t nfs在文件中将nfsmount 更改为,/usr/share/initramfs-tools/scripts/nfs然后我运行update-initramfs -u更新 initramfs 映像,但似乎仍然出现错误:
mount: unknown nfs mount option 'fsc'
Run Code Online (Sandbox Code Playgroud)
我的猜测是,这是klibc 中挂载功能的限制。解决这个问题的最佳方法是什么?nfsmount 程序需要打补丁吗?
由于这似乎是 klibc 中 nfsmount 工具的限制,我想我可以添加/sbin/mount.nfs到 initramfs 映像并使用此工具挂载 nfsroot。我将它复制到文件夹中/usr/lib/klibc/bin,/usr/share/initramfs-tools/scripts/nfs并按如下方式更新了脚本:
mount.nfs ${NFSROOT} ${rootmnt} -o nolock ${roflag} ${NFSOPTS}
Run Code Online (Sandbox Code Playgroud)
启动更新后的 initramfs 映像后,执行 mount.nfs 时有很长的延迟,然后显示以下消息:
mount.nfs: an incorrect …Run Code Online (Sandbox Code Playgroud) 摘要:update-initramfs 说系统无法启动,消息指向 mkconf,它建议重写 mdadm.conf 似乎会破坏 RAID,系统启动(目前)但下次重新启动可能会杀死它,不清楚如何继续,mdadm.conf 看起来很好,但是 update-initramfs 警告告诉我什么?为什么 mkconf 似乎暗示了一些不好的东西?
我在 1and1.com 上有一台运行 Ubuntu 12.04 的专用服务器,并且“update-initramfs -u”报告了一条 mdadm 错误消息,表明服务器将无法正确重启。我查看了相关的配置文件,一直没能找出问题所在。自从看到这条消息后,我没有尝试重新启动,因为我不想在我无法物理访问的服务器上“只是看看会发生什么”(如果我无法访问正在运行的系统,可能会使诊断更加困难)我可以探查信息。)我觉得我应该尝试了解错误消息和系统配置,直到我确信重新启动可能会成功为止。
首先是错误信息(来自 update-initramfs -u):
W: mdadm: the array /dev/md3 with UUID dffcb503:bc157198:3fb6082e:e5593158
W: mdadm: is currently active, but it is not listed in mdadm.conf. if
W: mdadm: it is needed for boot, then YOUR SYSTEM IS NOW UNBOOTABLE!
W: mdadm: please inspect the output of /usr/share/mdadm/mkconf, compare
W: mdadm: it to /etc/mdadm/mdadm.conf, and make the necessary changes.
W: mdadm: the array …Run Code Online (Sandbox Code Playgroud) 我正在尝试解锁运行加密版本 Ubuntu 14.04 的无头服务器。这是一个干净的 14.04.2 安装,其中包含撰写本文时的所有更新。
我用dropbearand完成了标准的恶作剧busybox,即:
# INSTALL
sudo apt-get install dropbear busybox # on server
# ENABLE AND CONFIGURE IP
sudo sed -i 's/NO_START=1/NO_START=0/g' /etc/default/dropber
sudo sed -i 's/BUSYBOX=y/BUSYBOX=y\nDROPBEAR=y\n/g' \
/etc/iniramfs/iniramfs.conf
sudo sed -i 's/DEVICE=.+/DEVICE=etho0/g' \
/etc/iniramfs/initramfs.conf
sudo sed -i 's/IP=.+/IP=IP=192.168.0.11:::255.255.255.0::eth1:off' \
/etc/initramfs/initramfs.conf
sudo update-initramfs
# COPY DROPBEAR SSH KEY
# WRONG: sudo cp /etc/dropbear/dropbear_*_host_key /tmp
sudo cp /etc/initramfs-tools/root/.ssh/id_rsa /tmp # BETTER!
sudo chown $USER:$USER /tmp/id_rsa
scp server:/tmp/id_rsa ~/.ssh/id_rsa_dropbear_server # on client
sudo reboot …Run Code Online (Sandbox Code Playgroud) 今天尝试硬件修复后,我在启动我的 Ubuntu 时遇到问题。我的笔记本电脑工作正常,但有一些小问题,所以我们尝试了一个不同的主板,它有一个大问题,所以我们把它改回了原来的主板。但是,现在我在启动时遇到问题。
标题基本概括了所有内容。我使用的是 Ubuntu 16.04,但在启动时,我得到:
[ 0:000000] [Firmware Bug]: TSC_DEADLINE disabled due to Errata; please update microcode to version: 0x52 (or later)
Run Code Online (Sandbox Code Playgroud)
我现在被困在 BusyBox (initramfs)。
有谁知道如何解决这个问题?我对 bash 或 initramfs 不太熟悉,所以如果可能的话,我希望得到详细的分步指南。
我收到标题中的错误,它发生在 grub 安装期间以及dpkg --configure -a. 我无法再更新,并且一旦我遇到错误,shell 就没有响应。
谁能帮我?
完整的错误:
freek@home:~$ sudo dpkg --configure -a
Setting up grub-legacy-ec2 (17.1-27-geb292c18-0ubuntu1~16.04.1) ...
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
Searching for GRUB installation directory ... found: /boot/grub
Searching for default file ... found: /boot/grub/default
Testing for an existing GRUB menu.lst file ... …Run Code Online (Sandbox Code Playgroud) 我改编了 ZoL 指南,将 Ubuntu Server 14.04 放在 ZFS 根目录上,用于 18.04 Bionic Beaver 和桌面安装:http : //vlog.averyfreeman.com/doku.php/ubuntu.18.04.desktop.on.zfs
我正在努力确保我拥有的所有信息都是正确的,但我遇到了几个我不知道如何回答的问题:
Ubuntu 中对通用内核的 ZFS 支持是否需要该zfs-dkms软件包,还是就zfs-initramfs足够了?(Ubuntu 中的通用内核是否具有 kABI 扩展?)
如果有人真的遵循它,我希望他们在内核升级后有一个可引导的系统!:)
另外,有没有办法防止# zfs import -f
rpool在启动更新的内核后必须调用和重新启动?
当我这样做时我注意到:
sudo update-initramfs -u
使用最新的内核版本 (2.6.38),我收到以下警告消息:
update-initramfs:生成 /boot/initrd.img-2.6.38-3-generic-pae W:模块 r8169 可能缺少固件 /lib/firmware/rtl_nic/rtl8168d-2.fw W:模块 r8169 可能缺少固件 /lib/firmware/rtl_nic/rtl8168d-1.fw
我该如何解决这个问题?
Dean Thomson 2 月 14 日 4:11 写道:
不幸的是,linux-firmware 包不适用于Maverick。
问题:
\n\n当我启动我的 Ubuntu 16.04(服务器)盒子时。我陷入 Busybox V1.22.1 (initramfs) 提示符中,收到一条消息 \xe2\x80\x9cmdadm: 在conf 文件中找到重复的 MD 设备名称。\xe2\x80\x9d
\n\n很高兴知道详细信息:
\n\n错误信息:
\n\n...\nBegin: Running /scripts/local-block ... mdadm: Devices UUID-7c2dfe28-c4b7-8646-c114-3a6e9b415836 and UUID--7c2dfe28-c4b7-8646-c114-3a6e9b415836 have the same name: /dev/md/0\nmdadm: Duplicate …Run Code Online (Sandbox Code Playgroud) 我正在尝试查看dmesg(initramfs) 中的输出,但命令输出的行数比屏幕多。所以我只看到dmesg输出的结尾。Busybox v1.21.1 有more命令,但dmesg | more不知何故无法按预期工作(它显示完整的输出,没有可能滚动)。
为什么它不起作用以及 initramfs 中是否有其他方法来观察dmesg输出?
有人可以解释一下这个错误的含义以及我该如何解决它吗?
update-initramfs: Generating /boot/initrd.img-4.15.0-47-generic
cryptsetup: WARNING: failed to detect canonical device of /dev/nvme0n1p3
cryptsetup: WARNING: could not determine root device from /etc/fstab
W: Possible missing firmware /lib/firmware/ast_dp501_fw.bin for module ast
I: The initramfs will attempt to resume from /dev/nvme0n1p4
I: (UUID=868cf117-ffc8-40ae-a29e-128a42a8c1a1)
I: Set the RESUME variable to override this.
Run Code Online (Sandbox Code Playgroud)
提前致谢