時悠帖・五差路

まだ若いつもりでいたがついに老いを隠せなくなった爺の 時悠生活雑記

パーティション非表示/Grub

AOA150にインストールしたDebian6(Squeeze)が無事起動できることを確認した後、デュアルブートのWindwsXPを起動しようとしたところ、"Acer eRecovery Management"が立ち上がり、「どのように復元しますか...システムを初期設定に復元します|終了」と聞いてきました。
初期設定されたんじゃ困りますので、ここでは当然「終了」を選択です。
なお、パソコン起動画面/Grubメニューでは Windows NT/2000/XP になっていました。
grub-pc(grub2)インストール時にちょっと間違えたかもしれません。)

os-prober コマンドで確認しました。(次の2行が/boot/grub/grub.cfgに反映されています)

 Windows NT/2000/XP (on /dev/sda1)
 Microsoft Windows XP Home Edition (on /dev/sda2)

この2行目を選択すればWindwsXPが立ち上がります。しかし、うっかり1行目を選択して初期設定に戻すようなことがあっては困ります。

参考にした記事はUbuntu Forums - Grub 2 Title Tweaks Threadです。
Windowsリカバリパーティションを表示しないように /etc/grub.d/30_os-prober に追記します。(/boot/grub/grub.cfg を手動で修正してはいけないようです)

(# Added to 〜 # End Added を追記

for OS in ${OSPROBED} ; do
DEVICE="`echo ${OS} | cut -d ':' -f 1`"
LONGNAME="`echo ${OS} | cut -d ':' -f 2 | tr '^' ' '`"
LABEL="`echo ${OS} | cut -d ':' -f 3 | tr '^' ' '`"
BOOT="`echo ${OS} | cut -d ':' -f 4`"

if [ -z "${LONGNAME}" ] ; then
LONGNAME="${LABEL}"
fi

# Added to hide "Acer eRecovery Management" partition
if [ "$LONGNAME" = "Windows NT/2000/XP" ] && [ "${DEVICE}" = "/dev/sda1" ] ; then
continue
fi
# End Added


そして、# update-grub を実行します。