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
KVMのコンソールに接続する@RHEL6 on Fedora14 KVM

KVM上で仮想OSを動かしている場合、コンソールに接続するには、少し設定を変更す …

no image
Mercurial 覚え書き@Fedora 13

分散型のバージョン管理システムである、Mercurial を使ってみました。 最 …

no image
gvfsを使用して、Windowsの共有フォルダを使用する@Ubuntu 9.04

今までmaznはWindowsの共有フォルダにLinuxからアクセスする時は、m …

no image
POP3 + Maildir形式@Debian Etch

メールの保存形式をmboxからMaildirに変更したところ、qpopperがM …

no image
firefox7のアドレスバーにhttps://を表示させる

firefox7からアドレスバーのURLにhttps://が表示されなくなりまし …

no image
Raspberry Pi 2でHDMIから画面が出力されない

Raspberry Pi 2 でOS(Ubuntu)を再起動すると、HDMIから …

no image
SquirrelMailの添付ファイルサイズ変更@Debian Etch

SquirrelMailで送信できる添付フィルのサイズがデフォルトだと2Mのよう …

no image
iptables のルールの移行

移行元のルールを保存し、 # iptables-save > filena …

no image
Trackpointでスクロールできない@ThinkPad キーボード 55Y9024 with Windows7 64bit

ThinkPadのトラックポイントキーボード 55Y9024 を使っているのです …

no image
evalで変数名を変数にする@bash

シェルスクリプトで変数を使用していると、変数名を変数にしたい場合が出てきます。 …