Hatena::Grouplinux2

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

2012年04月18日(水)

HDD の Ubuntu Live CD (ISO イメージ) を起動する Grub2 の設定

23:28 | HDD の Ubuntu Live CD (ISO イメージ) を起動する Grub2 の設定 - Going My Linux Way を含むブックマーク はてなブックマーク - HDD の Ubuntu Live CD (ISO イメージ) を起動する Grub2 の設定 - Going My Linux Way HDD の Ubuntu Live CD (ISO イメージ) を起動する Grub2 の設定 - Going My Linux Way のブックマークコメント

明日、Ubuntu 12 の RC がリリースされるようですが、このバージョンアップを機にクリーンインストールを画策中です。

空いている HDDUbuntu 12 を併用インストールして、しばらくテストしようとしたのですが、CD-ROM ドライブが不調でインストール CD が焼けません。

そこで、HDD の Live CD (ISO イメージ)を起動してインストールすることにします。

標題の設定を以下のリンクを参考にして書きました。

ハマった最大のところは、

set root=(hd0, 7)

です。以前はパーティション番号は 0 から始まっていたはずですが、Grub2 では 1 から始まるようです。((hd0,6) と設定してハマってました)

設定

1. Ubutun Live CD (ISOイメージ) の配置

公式サイト(The leading operating system for PCs, IoT devices, servers and the cloud | Ubuntu)からダウンロードしました。

私は /boot/iso に置きました。

$ ls /boot/iso
ubuntu-12.04-beta2-desktop-amd64.iso

私の環境では /boot は / パーティション にあります。/ パーティションは /dev/sdb7 です。

2. Grub2 の設定

以下の内容の /etc/grub.d/11_ubuntu_livecd を作りました。

#!/bin/bash

put_menuentry__() {
	local title=$1
	local isofile=$2
	local rootdev=${3:-"(hd0,1)"}

	/bin/cat <<MENU_ENTRY
menuentry "$title" {
	set root=$rootdev
	loopback loop $isofile
	linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noeject noprompt
	initrd (loop)/casper/initrd.lz	
}
MENU_ENTRY
}

put_menuentry__ \
	"Ubuntu 12.04 (beta) LiveCD" \
	"/boot/iso/ubuntu-12.04-beta2-desktop-amd64.iso" \
	"(hd0,7)"

unset -f put_menuentry__

# vi:set ts=4 sw=4:

パラメタは以下の意味のようです。(casper への指示?)

  • noeject は「リブート時に CD をリジェクトしない」
  • noprompt は「リブート時の"準備ができたら Enter して"のメッセージを表示しない」

次に、このファイルに実行権を付与します。

$ sudo chmod +x /etc/grub.d/11_ubuntu_livecd

最後に、Grub の設定を更新します。

$ sudo update-grub

----

今からリブートして、Live CD を起動して Ubuntuインストールします。

成功しますように。


[(早々と)追記]

失敗。

Grub からの Live CD 起動は成功しました。しかし、Ubuntuインストールで、

ubi-partman:crush / ubi-partman failed (with code 141)

というエラーが出ました。

-----

[2012/04/20 追記]

とりあえず Update-Manager で Ubuntu 11.10 を 12.04 にして、

/dev/sda を fdisk で見たら以下のような Warning が出てました。

   Device Boot      Start         End      Blocks   Id  System 
/dev/sda1   *           1        7649    61440561    7  HPFS/NTFS
/dev/sda2            7650       22947   122873152    7  HPFS/NTFS
/dev/sda3           22948       37537   117186142   83  Linux

                                                                          
Warning: Partition 3 does not end on cylinder boundary.
/dev/sda4           37537      121602   675252112    5  Extended

                                                                          
Warning: Partition 4 does not end on cylinder boundary.
/dev/sda5           37537       38533     8000370   82  Linux swap

                                                                          
Warning: Partition 5 does not end on cylinder boundary.
/dev/sda6           38533       39530     8008402   82  Linux swap

                                                                          
Warning: Partition 6 does not end on cylinder boundary.
/dev/sda7           39530       54119   117186142   83  Linux

                                                                          
Warning: Partition 7 does not end on cylinder boundary.
/dev/sda8           54119       68708   117186142   83  Linux

                                                                          
Warning: Partition 8 does not end on cylinder boundary.
/dev/sda9           68708      121602   424871055   83  Linux

                                                                          
Warning: Partition 9 does not end on cylinder boundary.

これが、原因だろうか。。。

結局、

の条件で、インストールできました。

----

[追記(2013/02/24)]

Ubuntu 12.04/12.10 の Live CD では上記不具合はないようです。

問題なくインストールできました。