GRUB2 で RAID0 上のパーティションを非表示にする

GRUB2 で RAID0 上のパーティションを非表示にする

2 つの Windows バージョンを互いに隠そうとしています。単一のドライブでこれを行う方法はわかっていますが、RAID0 では少し難しいようです。より正確に言うと、parttool の正確な順序を決定する方法がわかりません。これは、これまでのところ /etc/grub.d/40_custom にあるものの例です。

menuentry "Work" {
    insmod part_msdos
    insmod ntfs
    set root='(/dev/mapper/isw_hjcbchkb)'
    parttool (hd0,0) hidden-
    parttool (hd0,1) hidden+
    parttool (hd0,4) hidden-
    parttool (hd0,5) hidden-
    parttool (hd0,1) boot-
    parttool (hd0,0) boot+
    search --no-floppy --fs-uuid --set B36431DD6432B247
    chainloader +1
}

システムは起動しますが、パーティションの順序が正確にわかっていないようです。位置を決定するために blkid を使用しましたが、合わないようです:

/dev/sda: TYPE="isw_raid_member" 
/dev/sdb: TYPE="isw_raid_member" 
/dev/mapper/isw_hjcbchkb_Volume0p1: LABEL="System Reserved" UUID="A3D1DF14DCFA2DD3" TYPE="ntfs" 
/dev/mapper/isw_hjcbchkb_Volume0p2: LABEL="VM" UUID="3A2A29B22339B46C" TYPE="ntfs" 
/dev/mapper/isw_hjcbchkb_Volume0p5: LABEL="Work" UUID="B36431DD6432B247" TYPE="ntfs" 
/dev/mapper/isw_hjcbchkb_Volume0p6: LABEL="Other" UUID="C6C7A02AC8FCE722" TYPE="ntfs" 
/dev/mapper/isw_hjcbchkb_Volume0p7: UUID="02e4c321-2f22-3d2d-b1a8-021d98844d07" TYPE="ext4" 
/dev/mapper/isw_hjcbchkb_Volume0p8: UUID="1ddf36d2-648d-24ab-7db2-03f2d680a70d" TYPE="swap" 

例として「Work」では、Work を起動し (「System Reserved」の BCD を使用)、VM を非表示にしたいと考えています。何かアイデアはありますか?

答え1

OK、これでうまくいきました。パーティション番号の変換はまったく必要ありません。論理パーティションは #5 から始まります。したがって、正しいエントリは次のようになります。

menuentry "Work" {
    insmod part_msdos
    insmod ntfs
    set root='(/dev/mapper/isw_hjcbchkb)'
    parttool (hd0,1) hidden-
    parttool (hd0,2) hidden+
    parttool (hd0,5) hidden-
    parttool (hd0,6) hidden+
    parttool (hd0,6) boot-
    parttool (hd0,1) boot+
    search --no-floppy --fs-uuid --set B36431DD6432B247
    chainloader +1
}

関連情報