Mazn.net

やってみて 調べてみて 苦労しなけりゃ 箱は動かじ

GRUBのコマンドラインで、手動でLinuxを起動する@CentOS 5.4

      2013/07/15

前回の記事で、USBのハードディスクにLinuxを入れたまではいいが、Windowsのブートローダを設定してもGRUBという文字が表示されフリーズしてしまい、Linuxを起動できません。

そこで他のメディアにGRUBをインストールし、そこから手動で起動することにしました。

最近のPCにはフロッピーが搭載されていないことが多いため、CDからの起動です。GRUB入りのCDを作ろうと思いましたが、誰か作ってるのを公開しているだろうと思い調べて見たら、アクセンス・テクノロジーさんがISOイメージ公開してくれていたので使わせて頂きました。

このCDを使用してPCを起動すると、grub> というGRUBのプロンプトが出てきます。

ここから起動方法です。まず前提ですが、今回使用するUSBハードディスクは、内蔵で2台のSATAのハードディスクがあるため、PCからは3台目として扱われます。

GRUBでは、 1台目のハードディスクがhd0, 2台目がhd1として扱われ、今回は3台目なのでhd2として扱われます。

さらに、重要なのが/bootと/の場所です。今回の環境では、3台目のハードディスクで

パーティション0 : /boot
パーティション1 : /

となっています。まずは、rootの指定です。ここでいうrootは/bootのパーティションです。

grub> root (hd2,0)

次はカーネルの指定です。

カーネルは/bootに入っているため、

grub> kernel (hd2,0)/vmlinuz-2.6.xxx ro root=LABEL=/

と入力します。vmlinuz- の箇所は、実際にインストールされているlinuxによりますが、GRUBはext3のパーティションを読めるので、vmlinuzまで入力した後にTABを押すことで補完できます。

なお、今回は/bootが/のパーティションと別パーティションになっているため上記のようなvmlinuzの指定になっていますが、/boot と / のパーティションが一緒の場合は(hd2,1)/boot/vmlinuz-2.6.xxx と記述する必要があります。

LABEL=/は、初めてLinuxをインストールしたシステムならば、パーティションにこういったラベルが自動で付けられるので問題ないですが、ラベルがないときは、(hd2,2) といったふうに、/パーティションを指定します。

最後はinitrdの指定です。initrdの詳しい説明はしませんが、システムによってはinitrdがなくても起動できます。通常は/bootに入っています。

grub> initrd (hd2,0)/initrd-2.6.xxx   ←これもTABで補完可能

最後に起動です。

grub> boot

以上で起動します。

ちなみに起動中にmountエラーでカーネルパニックになった出た場合はkenel行のrootの指定が間違っています。

 - IT技術, サーバ構築 , ,

336px

Message

メールアドレスが公開されることはありません。

  関連記事

no image
リモートデスクトップに繋がらない with COMODO Firewall

COMODO Firewall を入れたWindows 7に、リモートデスクトッ …

no image
キル(コピー)した文字列の履歴をさかのぼってヤンク(貼り付け)する@bash

bashで、Ctrl-kでキル(コピー)した文字列をCtrl-yでヤンク(貼り付 …

no image
WordPress と Twitter の連携

tweetable でWordpressとTwitterを連携させてみました。 …

no image
COMODO Defense+ の 信頼ベンダー(trusted vendor)リストを削除する

最近COMOD Firewall を入れると、Defense+ の信頼ベンダーリ …

no image
Linuxコンテナ(LXC)内からNFSマウント@Ubuntu 14.04

Ubuntu 14.04 上で作成したLinuxコンテナ内からNFSマウントでき …

no image
LXDEのスタートメニューのカスタマイズ@Ubuntu 14.04

menulibreというツールがあるので、これをリポジトリに追加してインストール …

no image
Googleマップがナビウォークに!?

Googleマップでとうとうドライブルートを検索できるようになったようです。 G …

no image
パイプでつないだコマンドの戻り値を調べる@bash

シェルスクリプトで、実行したコマンドの戻り値を知る方法は有名ですよね。 以下のよ …

no image
sshダイナミックフォワーディング@cygwin

OpenSSHクライアントのsshコマンドでトンネリングをする方法として-Lオプ …

no image
rdesktopの改造@Debian etch

LinuxからWindowsのリモートデスクトップに接続するコマンドです。 De …