所以,我有一台奇怪的笔记本电脑,无法从我的 USB3.0 棒正确启动。蛴螬并initramfs
加载,但奇迹般地,该棒未安装。如果我只是等待,机器就会进入 busybox shell。blkid
没有列出我的棒。但如果我在发生这种情况之前,在正确的时间重新插入该棒,Ubuntu 就会正确启动。
所以我想,让我们自动化一下。我给自己找了一个 restart_usb shell 脚本,把它放进去/etc/initramfs-tools/scripts/init-premount
,然后运行update-initramfs -u
。
现在到了有趣的部分:在生成新文件时执行脚本initramfs
,从而重置 usb,从而使正在运行的 linux 无法访问其任何分区。只有硬重置才有用。
所以我的问题是:我怎样才能把在我们尝试挂载之前运行的脚本/
放入其中initramfs
而不让它被执行update-initramfs
?
干杯。
编辑:我正在运行 Ubuntu 14.04 的全新安装(未更新)。
答案1
我遇到了类似的问题,所以我查看了包含在 中的其他脚本initramfs
。显然,“技巧”在脚本头中,它应该如下所示:
#!/bin/sh
set -e
case $1 in
prereqs)
prereqs
exit 0
;;
esac
声明case
是重要的部分。
在本文档,但并未明确指出即使您不需要精确排序也必须包含此标题。
答案2
这对我有用
sudo update-initramfs -u