14:07 2026-8-27
下面有脚本可以执行,有几个地点有点bug
第一个就是,创建了md之后要保存配置文件
第二个就是,mount -t efivarfs efivarfs /mnt/sys/firmware/efi/efivars
第三个就是,chroot /mnt /bin/bash,用这个启动
bash
#!/bin/bash
# ==============================================================================
# Ubuntu 26.04 RAID1 + LVM 启动配置脚本
# 警告:此脚本将清除目标磁盘所有数据!请务必确认磁盘标识无误。
# 适用场景:Ubuntu Server Live USB 环境
# ==============================================================================
set -e
# --------------------------
# 1. 用户配置区域 (请根据实际情况修改)
# --------------------------
DISK1="/dev/sdb" # 第一块物理硬盘
DISK2="/dev/sdc" # 第二块物理硬盘
HOSTNAME="ubuntu-raid" # 主机名
USERNAME="ubuntu" # 默认用户名
PASSWORD="ubuntu" # 默认密码 (安装后请立即修改)
TIMEZONE="Asia/Shanghai"
# EFI 分区大小 (MB)
EFI_SIZE=512
# Boot 分区大小 (MB, BIOS模式需要, UEFI模式下/boot通常合并到根或单独ext4)
# 本脚本采用 UEFI + GPT 标准方案:
# /dev/md0: EFI System Partition (镜像同步, 虽非必须但便于管理) -> 实际上EFI通常不做RAID, 这里我们做两个独立EFI
# /dev/md1: /boot (ext4, RAID1)
# /dev/md2: LVM PV (RAID1), 包含 root (/) 和 swap
# --------------------------
# 2. 环境检查与准备
# --------------------------
echo "[*] 检查是否以 root 运行..."
if [ "$EUID" -ne 0 ]; then
echo "请使用 sudo 运行此脚本"
exit 1
fi
echo "[*] 安装必要工具..."
apt-get update
apt-get install -y mdadm lvm2 grub-efi-amd64 shim-signed dosfstools
# --------------------------
# 3. 磁盘分区 (GPT)
# --------------------------
wipe_disks() {
echo "[!] 正在清除磁盘 $DISK1 和 $DISK2 上的所有数据..."
sgdisk --zap-all $DISK1
sgdisk --zap-all $DISK2
partprobe $DISK1
partprobe $DISK2
}
create_partitions() {
echo "[*] 创建分区表..."
# 定义分区方案 (单位: MiB)
# 1. EFI 分区 (512M) - 类型 EF00
# 2. Boot 分区 (1G) - 类型 FD00 (Linux RAID)
# 3. Root/LVM 分区 (剩余空间) - 类型 FD00 (Linux RAID)
for DISK in $DISK1 $DISK2; do
echo "[*] 分区 $DISK ..."
sgdisk $DISK \
--new=1:1M:+${EFI_SIZE}M --typecode=1:EF00 --change-name=1:"EFI" \
--new=2:0:+1G --typecode=2:FD00 --change-name=2:"Boot" \
--new=3:0:0 --typecode=3:FD00 --change-name=3:"RootLVM" \
--print
done
partprobe $DISK1
partprobe $DISK2
}
# --------------------------
# 4. 组建 RAID1 阵列
# --------------------------
setup_raid() {
echo "[*] 组建 RAID1 阵列..."
# 停止可能存在的旧阵列
mdadm --stop /dev/md0 || true
mdadm --stop /dev/md1 || true
mdadm --stop /dev/md2 || true
# 创建 /boot 的 RAID1 (md1)
mdadm --create /dev/md1 --level=1 --raid-devices=2 --metadata=1.2 \
${DISK1}2 ${DISK2}2
# 创建 LVM 物理卷基础的 RAID1 (md2)
mdadm --create /dev/md2 --level=1 --raid-devices=2 --metadata=1.2 \
${DISK1}3 ${DISK2}3
echo "[*] 等待 RAID 同步初始化..."
sleep 5
cat /proc/mdstat
}
# --------------------------
# 5. 配置 LVM
# --------------------------
setup_lvm() {
echo "[*] 配置 LVM..."
# 创建物理卷
pvcreate /dev/md2
# 创建卷组
vgcreate vg_root /dev/md2
# 创建逻辑卷
# Swap: 8G (根据内存调整)
lvcreate -L 1G -n lv_swap vg_root
# Root: 剩余所有空间
lvcreate -l 100%FREE -n lv_root vg_root
# 格式化
mkfs.ext4 /dev/md1 # /boot
mkfs.ext4 /dev/vg_root/lv_root # /
mkswap /dev/vg_root/lv_swap
}
# --------------------------
# 6. 挂载文件系统并安装基础系统
# --------------------------
install_system() {
echo "[*] 挂载文件系统..."
mount /dev/vg_root/lv_root /mnt
mkdir -p /mnt/boot
mount /dev/md1 /mnt/boot
# 处理 EFI 分区 (UEFI 模式下,EFI 分区通常不做 RAID,而是分别挂载)
mkdir -p /mnt/boot/efi
# 注意:GRUB 在 UEFI 下通常只需要一个 EFI 分区有效,但为了冗余,我们可以格式化其中一个并挂载
# 这里我们格式化 DISK1 的 EFI 分区作为主 EFI
mkfs.vfat -F32 ${DISK1}1
mount ${DISK1}1 /mnt/boot/efi
echo "[*] 开始安装基础系统 (debootstrap)..."
# 使用 debootstrap 安装最小化系统
# 如果是在 Live USB 中,通常使用 ubuntu-server-installer 或 subiquity
# 此处演示手动 chroot 安装核心包,实际生产建议使用官方 Installer 的 "Manual Partitioning" 模式
# 由于手动 debootstrap 极其复杂且易错,以下代码仅为结构示意,
# **强烈建议**在 Live 环境中使用 `ubuntu-desktop-installer` 或 `subiquity` 的手动分区功能
echo "[!] 警告:全自动脚本安装完整 Ubuntu 系统极其复杂且依赖网络源稳定性。"
echo "[!] 建议操作:重启进入图形化安装程序,选择 'Manual Storage Configuration',"
echo "[!] 按照上述分区和 RAID/LVM 结构手动挂载。"
# 若坚持命令行安装,需执行 debootstrap,此处省略具体包列表以防错误
# debootstrap jammy /mnt http://archive.ubuntu.com/ubuntu/
}
# --------------------------
# 7. 配置 Chroot 环境 (系统安装后执行)
# --------------------------
configure_chroot() {
echo "[*] 配置 Chroot 环境..."
# 挂载必要虚拟文件系统
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
mount --bind /run /mnt/run
# 复制 resolv.conf
cp /etc/resolv.conf /mnt/etc/resolv.conf
chroot /mnt /bin/bash <<EOF
set -e
echo "[*] 在 Chroot 环境中配置..."
# 1. 安装内核和必要工具
apt-get update
apt-get install -y linux-image-generic linux-headers-generic mdadm lvm2 grub-efi-amd64 shim-signed os-prober
# 2. 生成 fstab
echo "生成 /etc/fstab..."
# 获取 UUID
BOOT_UUID=\$(blkid -s UUID -o value /dev/md1)
ROOT_UUID=\$(blkid -s UUID -o value /dev/mapper/vg_root-lv_root)
EFI_UUID=\$(blkid -s UUID -o value ${DISK1}1)
SWAP_UUID=\$(blkid -s UUID -o value /dev/mapper/vg_root-lv_swap)
cat > /etc/fstab <<FSTAB
# <file system> <mount point> <type> <options> <dump> <pass>
UUID=\$EFI_UUID /boot/efi vfat umask=0077 0 1
UUID=\$BOOT_UUID /boot ext4 defaults 0 1
UUID=\$ROOT_UUID / ext4 errors=remount-ro 0 1
UUID=\$SWAP_UUID none swap sw 0 0
FSTAB
# 3. 配置 Hostname 和 Hosts
echo "$HOSTNAME" > /etc/hostname
cat > /etc/hosts <<HOSTS
127.0.0.1 localhost
127.0.1.1 $HOSTNAME
HOSTS
# 4. 配置网络 (Netplan)
cat > /etc/netplan/00-installer-config.yaml <<NETPLAN
network:
version: 2
ethernets:
eth0:
dhcp4: true
NETPLAN
# 5. 安装 GRUB
echo "安装 GRUB..."
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu --recheck
update-grub
# 6. 更新 Initramfs (确保包含 raid 和 lvm 模块)
update-initramfs -u -k all
# 7. 设置用户
useradd -m -s /bin/bash $USERNAME
echo "$USERNAME:$PASSWORD" | chpasswd
usermod -aG sudo $USERNAME
echo "[*] Chroot 配置完成。"
EOF
# 卸载虚拟文件系统
umount /mnt/dev
umount /mnt/proc
umount /mnt/sys
umount /mnt/run
}
# --------------------------
# 主执行流程
# --------------------------
main() {
echo "=================================================="
echo " Ubuntu 26.04 RAID1 + LVM 部署脚本"
echo "=================================================="
read -p "警告:这将擦除 $DISK1 和 $DISK2 的所有数据!继续吗?(yes/no): " confirm
if [ "$confirm" != "yes" ]; then
echo "已取消。"
exit 0
fi
wipe_disks
create_partitions
setup_raid
setup_lvm
echo "[*] 分区和 RAID/LVM 结构已创建完毕。"
echo "[*] 接下来请挂载文件系统并安装操作系统。"
echo "[*] 您可以选择:"
echo " 1. 重启并使用图形化安装器的'手动分区'功能,识别已创建的 /dev/md* 和 /dev/mapper/*。"
echo " 2. 继续运行本脚本的 install_system (需完善 debootstrap 逻辑)。"
# 自动执行 chroot 配置部分通常需要系统文件已存在,因此这里暂停
# configure_chroot
}
# 取消注释以下行以执行(谨慎!)
# main
删除之前的记录
mdadm --stop /dev/md0
假设成员盘为 /dev/sdb1 和 /dev/sdc1
mdadm --zero-superblock /dev/sdb2
检查磁盘元数据:
mdadm --examine /dev/sdb2
echo ""> /etc/mdadm/mdadm.conf
update-initramfs -u
dd if=/dev/sda1 of=sdb1
echo ""> /etc/mdadm/mdadm.conf
sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
cp /etc/mdadm/mdadm.conf /mnt/etc/mdadm/mdadm.conf
更新3个
grub-install /dev/sdb
更新 grub 配置文件
update-grub
更新 initramfs
确保内核启动时能加载 mdadm 模块并识别阵列:
bash
update-initramfs -u
sudo rsync -avxHAX --progress / /mnt/
如果中途重启,重新挂载目标分区
mount /dev/vg_root/lv_root /mnt
mount /dev/md1 /mnt/boot
mount /dev/sdb1 /mnt/boot/efi
挂载 /proc (提供内核和进程信息)
mount -t proc /proc /mnt/proc
挂载 /sys (提供系统和硬件设备信息)
mount -t sysfs /sys /mnt/sys
挂载 /dev (提供设备节点,如 /dev/sdb)
mount --bind /dev /mnt/dev
挂载 /dev/pts (伪终端支持,可选但推荐)
mount --bind /dev/pts /mnt/dev/pts
挂载 /run (运行时变量数据,某些现代系统需要)
mount --bind /run /mnt/run
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
mount --bind /run /mnt/run
mount --bind /dev/pts /mnt/dev/pts
sudo chroot /mnt /bin/bash
验证环境
ls /proc/cpuinfo # 如果有输出,说明 /proc 挂载成功
ls /sys/block # 如果有输出,说明 /sys 挂载成功
如果是 BIOS/Legacy 模式:
确保安装了 grub-pc-bin
apt-get install grub-pc-bin
grub-install /dev/sdb
grub-install /dev/sdc # RAID1 建议两块盘都装
update-grub
确保 /boot/efi 已挂载
mount /dev/sdb1 /boot/efi # 假设 sdb1 是 EFI 分区
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu --recheck
update-grub
umount /mnt/dev
umount /mnt/proc
umount /mnt/sys
安装 grub 到物理磁盘 MBR/EFI
apt install grub2-common
grub-install /dev/sdb
???
root@ccyy:/# grub-install /dev/sdb
grub-install: error: /usr/lib/grub/i386-pc/modinfo.sh doesn't exist. Please specify --target or --directory.
!!!
这个错误表明你正在尝试以 BIOS (Legacy) 模式安装 GRUB(因为默认目标是 i386-pc),但系统中缺少对应的 BIOS 引导模块文件。
结合你之前提到的 Ubuntu 26.04 + RAID1 + LVM 环境,这通常由以下两种情况之一引起:
你实际上是在 UEFI 模式下启动的(现代电脑默认),但命令没加参数,导致 GRUB 试图按 BIOS模式安装却找不到文件。
你确实需要 BIOS 模式,但只安装了 EFI 版的 GRUB 包,缺少 grub-pc-bin。
请按照以下步骤排查并修复:
第一步:确认当前启动模式
在终端运行以下命令:
bash
-d /sys/firmware/efi && echo "UEFI Mode" || echo "BIOS/Legacy Mode"
情况 A:如果是 UEFI Mode(绝大多数现代系统)
不要使用 grub-install /dev/sdb。你需要指定 EFI 目标平台和 EFI 分区挂载点。
确保 EFI 分区已挂载
假设你的 EFI 分区是 /dev/sdb1(根据你之前的脚本,应该是 sdb1),且已挂载到 /boot/efi:
bash
mount /dev/sdb1 /boot/efi
安装正确的 GRUB 包
bash
apt-get update
apt-get install --reinstall grub-efi-amd64 shim-signed
执行正确的安装命令
bash
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu --recheck
注意:这里不需要指定 /dev/sdb,而是指定 EFI 目录。
更新配置
bash
update-grub
情况 B:如果是 BIOS/Legacy Mode
如果你确实在旧电脑或强制 Legacy 模式下运行,你需要安装 BIOS 版的 GRUB 模块。
安装缺失的 BIOS 模块包
报错提示缺少 i386-pc/modinfo.sh,这是因为没装 grub-pc-bin。
bash
apt-get update
apt-get install grub-pc-bin
重新执行安装命令
bash
grub-install /dev/sdb
注意:在 RAID1 环境下,建议对两块盘都执行:
bash
grub-install /dev/sdb
grub-install /dev/sdc
更新配置
bash
update-grub
针对 RAID1 + LVM 环境的特别提示
由于你使用的是 RAID1 + LVM,在执行 grub-install 之前,请务必确认以下几点,否则即使安装成功也可能无法启动:
Initramfs 必须包含 RAID 和 LVM 驱动
在 chroot 环境中,确保执行了:
bash
update-initramfs -u -k all
如果 initramfs 里没有 mdadm 和 lvm2 模块,内核启动后找不到根文件系统,会进入 (initramfs) 救援模式。
GRUB 能否识别 RAID?
UEFI 模式:GRUB 直接读取 EFI 分区(通常是独立的 ext4 或 FAT32,不在 RAID 内,或者在 RAID1 的 md1 上)。如果你的 /boot 在 RAID1 (/dev/md1) 上,GRUB 通常能正常读取,因为 GRUB 2 支持 MD RAID 1。
BIOS 模式:GRUB 的核心镜像需要写入磁盘的 MBR。在 RAID1 中,你需要确保两块盘的 MBR 都有 GRUB 代码(如上所述,对 sdb 和 sdc 都执行 install)。
验证安装结果
安装完成后,检查 EFI 引导项(仅 UEFI):
bash
efibootmgr -v
确保看到 ubuntu 的引导项指向正确的 .efi 文件。
总结解决方案
如果是 UEFI(推荐):运行 grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu
如果是 BIOS:先运行 apt install grub-pc-bin,再运行 grub-install /dev/sdb
《《《《《《《《《《《《《《《《《《《《《《《《《《《《》》》》》》》》》》》》》》》》》》》》》》》》》》》》
???
root@ccyy:/# efibootmgr -v
EFI variables are not supported on this system.
error trace:
apt-get install --reinstall grub-efi-amd64 shim-signed
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu --recheck
update-grub
efibootmgr -v
如果在chroot
假设目标系统根分区挂载在 /mnt
mount -t efivarfs efivarfs /mnt/sys/firmware/efi/efivars
root@ccyy:/# efibootmgr -v
BootCurrent: 0004
Timeout: 0 seconds
BootOrder: 0004,0000,0002,0001,0003
Boot0000* UiApp FvVol(7cb8bdc9-f8eb-4f34-aaea-3ee4af6516a1)/FvFile(462caa21-7614-4503-836e-8ab6f4662331)
dp: 04 07 14 00 c9 bd b8 7c eb f8 34 4f aa ea 3e e4 af 65 16 a1 / 04 06 14 00 21 aa 2c 46 14 76 03 45 83 6e 8a b6 f4 66 23 31 / 7f ff 04 00
Boot0001* UEFI VBOX HARDDISK VB25171e8a-798a13b2 PciRoot(0x0)/Pci(0xd,0x0)/Sata(1,65535,0){auto_created_boot_option}
dp: 02 01 0c 00 d0 41 03 0a 00 00 00 00 / 01 01 06 00 00 0d / 03 12 0a 00 01 00 ff ff 00 00 / 7f ff 04 00
data: 4e ac 08 81 11 9f 59 4d 85 0e e2 1a 52 2c 59 b2
Boot0002* UEFI VBOX HARDDISK VB95d3d5fb-46abb0a0 PciRoot(0x0)/Pci(0xd,0x0)/Sata(0,65535,0){auto_created_boot_option}
dp: 02 01 0c 00 d0 41 03 0a 00 00 00 00 / 01 01 06 00 00 0d / 03 12 0a 00 00 00 ff ff 00 00 / 7f ff 04 00
data: 4e ac 08 81 11 9f 59 4d 85 0e e2 1a 52 2c 59 b2
Boot0003* UEFI VBOX HARDDISK VB46040f02-cb470435 PciRoot(0x0)/Pci(0xd,0x0)/Sata(2,65535,0){auto_created_boot_option}
dp: 02 01 0c 00 d0 41 03 0a 00 00 00 00 / 01 01 06 00 00 0d / 03 12 0a 00 02 00 ff ff 00 00 / 7f ff 04 00
data: 4e ac 08 81 11 9f 59 4d 85 0e e2 1a 52 2c 59 b2
Boot0004* Ubuntu HD(1,GPT,442bf13f-3e13-4e98-9f47-6ef28ae0b3fc,0x800,0x219800)/\EFI\ubuntu\shimx64.efi
dp: 04 01 2a 00 01 00 00 00 00 08 00 00 00 00 00 00 00 98 21 00 00 00 00 00 3f f1 2b 44 13 3e 98 4e 9f 47 6e f2 8a e0 b3 fc 02 02 / 04 04 34 00 5c 00 45 00 46 00 49 00 5c 00 75 00 62 00 75 00 6e 00 74 00 75 00 5c 00 73 00 68 00 69 00 6d 00 78 00 36 00 34 00 2e 00 65 00 66 00 69 00 00 00 / 7f ff 04 00
okok!!!
poweroff
删除旧系统硬盘,只留,raid1的两个硬盘,启动
root@ccyy:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 12G 0 disk
├─sda1 8:1 0 512M 0 part /boot/efi
├─sda2 8:2 0 1G 0 part
│ └─md1 9:1 0 1022M 0 raid1 /boot
└─sda3 8:3 0 10.5G 0 part
└─md2 9:2 0 10.5G 0 raid1
├─vg_root-lv_root 252:0 0 9.5G 0 lvm /
└─vg_root-lv_swap 252:1 0 1G 0 lvm SWAP
sdb 8:16 0 12G 0 disk
├─sdb1 8:17 0 512M 0 part
├─sdb2 8:18 0 1G 0 part
│ └─md1 9:1 0 1022M 0 raid1 /boot
└─sdb3 8:19 0 10.5G 0 part
└─md2 9:2 0 10.5G 0 raid1
├─vg_root-lv_root 252:0 0 9.5G 0 lvm /
└─vg_root-lv_swap 252:1 0 1G 0 lvm SWAP
sr0 11:0 1 1024M 1 rom
root@ccyy:~# df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 188M 1.1M 186M 1% /run
/dev/mapper/vg_root-lv_root 9.3G 5.2G 3.7G 59% /
tmpfs 468M 0 468M 0% /dev/shm
efivarfs 256K 13K 239K 5% /sys/firmware/efi/efivars
none 1.0M 0 1.0M 0% /run/credentials/systemd-journald.service
none 1.0M 0 1.0M 0% /run/credentials/systemd-resolved.service
/dev/md1 988M 184M 737M 20% /boot
/dev/sda1 511M 13M 499M 3% /boot/efi
tmpfs 468M 0 468M 0% /tmp
none 1.0M 0 1.0M 0% /run/credentials/systemd-networkd.service
none 1.0M 0 1.0M 0% /run/credentials/getty@tty1.service
tmpfs 94M 8.0K 94M 1% /run/user/0
更新 grub 配置文件
update-grub
更新 initramfs
确保内核启动时能加载 mdadm 模块并识别阵列:
bash
update-initramfs -u
修改grub
root@ccyy:/dev/disk/by-id# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 25G 0 disk
├─sda1 8:1 0 1G 0 part /boot/efi
├─sda2 8:2 0 2G 0 part /boot
└─sda3 8:3 0 21.9G 0 part
└─ubuntu--vg-ubuntu--lv 252:0 0 11G 0 lvm /
sdb 8:16 0 12G 0 disk
├─sdb1 8:17 0 512M 0 part /mnt/boot/efi
├─sdb2 8:18 0 1G 0 part
│ └─md1 9:1 0 1022M 0 raid1 /mnt/boot
└─sdb3 8:19 0 10.5G 0 part
└─md2 9:2 0 10.5G 0 raid1
├─vg_root-lv_swap 252:1 0 1G 0 lvm
└─vg_root-lv_root 252:2 0 9.5G 0 lvm /mnt
sdc 8:32 0 12G 0 disk
├─sdc1 8:33 0 512M 0 part
├─sdc2 8:34 0 1G 0 part
│ └─md1 9:1 0 1022M 0 raid1 /mnt/boot
└─sdc3 8:35 0 10.5G 0 part
└─md2 9:2 0 10.5G 0 raid1
├─vg_root-lv_swap 252:1 0 1G 0 lvm
└─vg_root-lv_root 252:2 0 9.5G 0 lvm /mnt
sr0 11:0 1 1024M 1 rom
root@ccyy:/dev/disk/by-id# blkid
/dev/mapper/ubuntu--vg-ubuntu--lv: UUID="a850449f-e26e-481a-b22f-23c15e70ceb1" BLOCK_SIZE="4096" TYPE="ext4"
/dev/sda3: UUID="V7aH5h-tTCX-kxtX-F5xQ-0JC1-6Mt1-VsxZRG" TYPE="LVM2_member" PARTUUID="92dd6f87-a43e-454b-bad2-706b56ebb638"
/dev/sda2: UUID="952c333a-0317-46fd-9ac8-0bc650de8e94" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="8314b9b6-1f94-461c-9122-ac7490fd8caf"
/dev/sda1: UUID="9AE0-EC6F" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="442bf13f-3e13-4e98-9f47-6ef28ae0b3fc"
/dev/mapper/vg_root-lv_swap: UUID="4a2f4051-452d-48c7-8e09-273367a748ea" TYPE="swap"
/dev/sdb2: UUID="4ce4bdee-057d-520f-f0c1-a0bf86e3db49" UUID_SUB="37fac853-5568-5863-c308-88bfa53c89a1" LABEL="ccyy:boot" TYPE="linux_raid_member" PARTLABEL="Boot" PARTUUID="e05d341c-59d9-444c-abf0-ba7428a3da58"
/dev/sdb3: UUID="38978afa-82bb-de5e-ded1-ffe2768051c6" UUID_SUB="ad1f4819-5135-2d06-e7c5-4944f285c0a1" LABEL="ccyy:rootlvm" TYPE="linux_raid_member" PARTLABEL="RootLVM" PARTUUID="cda60d1b-f833-41f1-8275-5947cfc6c5ba"
/dev/sdb1: UUID="7C09-8F2D" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="EFI" PARTUUID="b7913e55-e3d8-4925-afc9-ef3d660c792e"
/dev/md2: UUID="OBOgHZ-2oD5-hzve-dJ3t-NzyS-M2h6-ABpkUK" TYPE="LVM2_member"
/dev/mapper/vg_root-lv_root: UUID="75d63fb5-45f1-4d46-8532-adfb7106ecb6" BLOCK_SIZE="4096" TYPE="ext4"
/dev/sdc2: UUID="4ce4bdee-057d-520f-f0c1-a0bf86e3db49" UUID_SUB="488e9cce-7bc9-f378-3345-def2b2c5c5b9" LABEL="ccyy:boot" TYPE="linux_raid_member" PARTLABEL="Boot" PARTUUID="fad80cf7-0f83-44fe-bdf2-630ea7fcb91a"
/dev/sdc3: UUID="38978afa-82bb-de5e-ded1-ffe2768051c6" UUID_SUB="cda0ccad-9f20-36d6-740b-aff962b4e505" LABEL="ccyy:rootlvm" TYPE="linux_raid_member" PARTLABEL="RootLVM" PARTUUID="9b648ad1-f58d-43d3-a510-5d770795a811"
/dev/md1: UUID="5fff8016-ed32-479d-b788-a9759d2aee76" BLOCK_SIZE="4096" TYPE="ext4"
/dev/sdc1: PARTLABEL="EFI" PARTUUID="df514116-60c9-4a8a-aa39-34777acd0e52"
ls /dev/disk/by-id
root@ccyy:/dev/disk/by-id# ls -al
total 0
drwxr-xr-x 2 root root 540 Aug 27 05:14 .
drwxr-xr-x 10 root root 200 Aug 27 05:14 ..
lrwxrwxrwx 1 root root 9 Aug 27 05:10 ata-VBOX_CD-ROM_VB0-01f003f6 -> ../../sr0
lrwxrwxrwx 1 root root 9 Aug 27 05:10 ata-VBOX_HARDDISK_VB25171e8a-798a13b2 -> ../../sdb
lrwxrwxrwx 1 root root 10 Aug 27 05:14 ata-VBOX_HARDDISK_VB25171e8a-798a13b2-part1 -> ../../sdb1
lrwxrwxrwx 1 root root 10 Aug 27 05:14 ata-VBOX_HARDDISK_VB25171e8a-798a13b2-part2 -> ../../sdb2
lrwxrwxrwx 1 root root 10 Aug 27 05:14 ata-VBOX_HARDDISK_VB25171e8a-798a13b2-part3 -> ../../sdb3
lrwxrwxrwx 1 root root 9 Aug 27 05:10 ata-VBOX_HARDDISK_VB46040f02-cb470435 -> ../../sdc
lrwxrwxrwx 1 root root 10 Aug 27 05:14 ata-VBOX_HARDDISK_VB46040f02-cb470435-part1 -> ../../sdc1
lrwxrwxrwx 1 root root 10 Aug 27 05:14 ata-VBOX_HARDDISK_VB46040f02-cb470435-part2 -> ../../sdc2
lrwxrwxrwx 1 root root 10 Aug 27 05:14 ata-VBOX_HARDDISK_VB46040f02-cb470435-part3 -> ../../sdc3
lrwxrwxrwx 1 root root 9 Aug 27 05:10 ata-VBOX_HARDDISK_VB95d3d5fb-46abb0a0 -> ../../sda
lrwxrwxrwx 1 root root 10 Aug 27 05:10 ata-VBOX_HARDDISK_VB95d3d5fb-46abb0a0-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 Aug 27 05:10 ata-VBOX_HARDDISK_VB95d3d5fb-46abb0a0-part2 -> ../../sda2
lrwxrwxrwx 1 root root 10 Aug 27 05:10 ata-VBOX_HARDDISK_VB95d3d5fb-46abb0a0-part3 -> ../../sda3
lrwxrwxrwx 1 root root 10 Aug 27 05:10 dm-name-ubuntu--vg-ubuntu--lv -> ../../dm-0
lrwxrwxrwx 1 root root 10 Aug 27 05:14 dm-name-vg_root-lv_root -> ../../dm-2
lrwxrwxrwx 1 root root 10 Aug 27 05:14 dm-name-vg_root-lv_swap -> ../../dm-1
lrwxrwxrwx 1 root root 10 Aug 27 05:10 dm-uuid-LVM-O6JdvmddaHg60i5jmujCxPKoRLjub23P0vrL6JFTR92ohvsMoPdMGAdW4il0htW8 -> ../../dm-0
lrwxrwxrwx 1 root root 10 Aug 27 05:14 dm-uuid-LVM-aXVkzDvtug0rNqOWufgFKcQ7aFCvW3TX6VBWFMJllNEn4vbEZj4nISm2KurftfQS -> ../../dm-2
lrwxrwxrwx 1 root root 10 Aug 27 05:14 dm-uuid-LVM-aXVkzDvtug0rNqOWufgFKcQ7aFCvW3TXGmUjuX1g0lYJDdetsGIAeVfiN07233DG -> ../../dm-1
lrwxrwxrwx 1 root root 9 Aug 27 05:14 lvm-pv-uuid-OBOgHZ-2oD5-hzve-dJ3t-NzyS-M2h6-ABpkUK -> ../../md2
lrwxrwxrwx 1 root root 10 Aug 27 05:10 lvm-pv-uuid-V7aH5h-tTCX-kxtX-F5xQ-0JC1-6Mt1-VsxZRG -> ../../sda3
lrwxrwxrwx 1 root root 9 Aug 27 05:14 md-name-ccyy:boot -> ../../md1
lrwxrwxrwx 1 root root 9 Aug 27 05:14 md-name-ccyy:rootlvm -> ../../md2
lrwxrwxrwx 1 root root 9 Aug 27 05:14 md-uuid-38978afa:82bbde5e:ded1ffe2:768051c6 -> ../../md2
lrwxrwxrwx 1 root root 9 Aug 27 05:14 md-uuid-4ce4bdee:057d520f:f0c1a0bf:86e3db49 -> ../../md1
root@ccyy:/dev/disk/by-id# df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 188M 1.2M 186M 1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv 11G 5.1G 5.1G 51% /
tmpfs 468M 0 468M 0% /dev/shm
efivarfs 256K 12K 239K 5% /sys/firmware/efi/efivars
none 1.0M 0 1.0M 0% /run/credentials/systemd-journald.service
tmpfs 468M 0 468M 0% /tmp
none 1.0M 0 1.0M 0% /run/credentials/systemd-resolved.service
/dev/sda2 2.0G 184M 1.7G 11% /boot
/dev/sda1 1.1G 6.4M 1.1G 1% /boot/efi
none 1.0M 0 1.0M 0% /run/credentials/systemd-networkd.service
none 1.0M 0 1.0M 0% /run/credentials/getty@tty1.service
tmpfs 94M 8.0K 94M 1% /run/user/0
/dev/mapper/vg_root-lv_root 9.3G 5.2G 3.7G 59% /mnt
/dev/md1 988M 229M 693M 25% /mnt/boot
/dev/sdb1 511M 6.4M 505M 2% /mnt/boot/efi
原
root=UUID=75d63fb5-45f1-4d46-8532-adfb7106ecb6
fstab
原
/dev/disk/by-id/dm-uuid-LVM-O6JdvmddaHg60i5jmujCxPKoRLjub23P0vrL6JFTR92ohvsMoPdMGAdW4il0htW8 / ext4 defaults 0 1
/boot was on /dev/sda2 during curtin installation
/dev/disk/by-uuid/952c333a-0317-46fd-9ac8-0bc650de8e94 /boot ext4 defaults 0 1
/boot/efi was on /dev/sda1 during curtin installation
/dev/disk/by-uuid/9AE0-EC6F /boot/efi vfat defaults 0 1
/swap.img none swap sw 0 0
新
UUID=75d63fb5-45f1-4d46-8532-adfb7106ecb6 / ext4 defaults 0 1
UUID=5fff8016-ed32-479d-b788-a9759d2aee76 /boot ext4 defaults 0 1
UUID=7C09-8F2D /boot/efi vfat defaults 0 1
UUID=4a2f4051-452d-48c7-8e09-273367a748ea none swap sw 0 0
UUID=75d63fb5-45f1-4d46-8532-adfb7106ecb6 / ext4 defaults 0 1
UUID=5fff8016-ed32-479d-b788-a9759d2aee76 /boot ext4 defaults 0 1
UUID=7C09-8F2D /boot/efi vfat defaults 0 1
UUID=4a2f4051-452d-48c7-8e09-273367a748ea none swap sw 0 0
???
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu --recheck