先安装qemu-utils
sudo -i
apt update
apt install qemu-utils
转到/etc/initramfs-tools目录
cd /etc/initramfs-tools
将mwtools工具挂载到任何一个方便的位置,我这里是挂载到了我的主目录下面,mwtools目录自己mkdir
mount /dev/sdb1 /home/kob/mwtools
将几个文件拷贝过来
cp /home/kob/mwtools/mwtools/distros/initramfs-tools/initramfs.conf .
cp /home/kob/mwtools/mwtools/distros/initramfs-tools/modules .
chmod +x modules
cd hooks
cp /home/kob/mwtools/mwtools/distros/initramfs-tools/hooks/mwnbd .
chmod +x mwnbd
cd ..
cd scripts/local-top
cp /home/kob/mwtools/mwtools/distros/initramfs-tools/scripts/local-top/mwnbd .
chmod +x mwnbd
cd ..
cd local-bottom
cp /home/kob/mwtools/mwtools/distros/initramfs-tools/scripts/local-bottom/mwnbd .
chmod +x mwnbd
debian要在modules文件最后一排加上efivarfs
最后再更新一下
sudo update-initramfs -u -k all
可以做一个脚本自动运行.sh
#!/bin/bash
# 检查是否具有root权限
if [ "$EUID" -ne 0 ]; then
echo "请使用sudo或root权限运行此脚本"
exit 1
fi
apt install qemu-utils -y
cp initramfs.conf /etc/initramfs-tools/
cp modules /etc/initramfs-tools/
cp update-initramfs.conf /etc/initramfs-tools/
cp ./hooks/mwnbd /etc/initramfs-tools/hooks/
cp ./scripts/local-top/mwnbd /etc/initramfs-tools/scripts/local-top/
cp ./scripts/local-bottom/mwnbd /etc/initramfs-tools/scripts/local-bottom/
chmod +x /etc/initramfs-tools/modules
chmod +x /etc/initramfs-tools/hooks/mwnbd
chmod +x /etc/initramfs-tools/scripts/local-bottom/mwnbd
chmod +x /etc/initramfs-tools/scripts/local-top/mwnbd
# 检测系统发行版
if [ -f /etc/os-release ]; then
. /etc/os-release
case "$ID" in
debian)
echo "检测到Debian系统"
# 安全追加模块到文件
grep -qxF 'efivarfs' /etc/initramfs-tools/modules || echo 'efivarfs' >> /etc/initramfs-tools/modules
# 更新initramfs
;;
ubuntu)
echo "检测到Ubuntu系统"
;;
*)
echo "错误:不支持的Linux发行版 - $ID"
exit 1
;;
esac
else
echo "错误:无法检测系统信息"
exit 1
fi
# 生成指定initramfs镜像
update-initramfs -u -k all
echo "操作已完成"