Hatena::Grouplinux2

Going My Linux Way このページをアンテナに追加 RSSフィード

2014年11月12日(水)

HDD 上の Ubuntu Live CD を Grub メニューに登録する

| 19:01 |  HDD 上の Ubuntu Live CD を Grub メニューに登録する - Going My Linux Way を含むブックマーク はてなブックマーク -  HDD 上の Ubuntu Live CD を Grub メニューに登録する - Going My Linux Way  HDD 上の Ubuntu Live CD を Grub メニューに登録する - Going My Linux Way のブックマークコメント

私は、2台目のHDDの1番目のパーティション(/dev/sdb1)に /iso というディレクトリを作成してそこに Ubuntu の Live CD の isoイメージを置いています。

また、GParted の Live CD も一緒に置いています。

(/media/lnznt/sdb1 はマウントポイントです)

lnznt@linux01:~$ ls -lh /media/lnznt/sdb1/iso/
-rw-rw-r-- 1 lnznt        lnznt 219M 11月 12 11:17 gparted-live-0.20.0-2-i486.iso
-rw-rw-r-- 1 lnznt        lnznt 1.1G 10月 30 07:23 ubuntu-ja-14.04-desktop-amd64.iso

Grub のメニューに上の HDD 上の Live CD を起動する項目を追加したいと思います。

/etc/grub.d/50_user_customize (ファイル名は任意)を以下の内容で作成します。

#!/bin/bash

echo 'menuentry "reboot" { reboot }'   # これはオマケ
echo 'menuentry "halt"   { halt }'     # ここもオマケ

#
# ex.)
#   sda1 ... (hd0,1)
#   sdb1 ... (hd1,1)
#   sdb2 ... (hd1,2)
#

location="(hd1,1)"
iso_image="/iso/ubuntu-ja-14.04-desktop-amd64.iso"

/bin/cat <<UBUNTU_LIVE_CD
menuentry "${location}${iso_image}" {
    set root=$location
    loopback loop $iso_image
    linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$iso_image noeject noprompt --
    initrd (loop)/casper/initrd.lz
}
UBUNTU_LIVE_CD

location="(hd1,1)"
iso_image="/iso/gparted-live-0.20.0-2-i486.iso"

/bin/cat <<GPARTED_LIVE_CD
menuentry "${location}${iso_image}" {
    set root=$location
    loopback loop $iso_image
    linux (loop)/live/vmlinuz boot=live config union=aufs noswap noprompt vga=788 ip=frommedia toram=filesystem.squashfs findiso=$iso_image
    initrd (loop)/live/initrd.img
}
GPARTED_LIVE_CD

作成したファイルには実行権を付与します。

$ sudo chmod +x /etc/grub.d/50_user_customize

Grub メニューを更新します。

$ sudo update-grub2

これで、PC起動時のGrubメニューに上で作成した項目が追加されました。