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
Linuxのinitrd – イニシャルラムディスク(initial ram disk)の展開方法

Linuxカーネルはモジュール型であるため、Linux起動時に必要なモジュールは …

no image
perlのCPANでモジュールをインストール@Debian Etch

CPANにはperlのモジュールが多数登録されています。これをインストールする方 …

no image
gitで現在の変更を一時的に退避して他の修正をする

ソースコードにある目的をもって機能追加している際、機能とは関係ないバグを見つける …

no image
文字コード一括変換@Linux

最近のLinuxはUTF8が標準になっていますが、ちょっと昔のファイルはEUCだ …

no image
電車の運行情報をチェックしてメール送信をするシェルスクリプト@bash

電車の遅延や事故などの運行情報を公開しているサイトがありますが、使用している路線 …

no image
CPU数を動的に変更する@CentOS 5.5

カーネルにパラメータ(maxcpus)を与えて、OSで使うCPU数を変更できるこ …

no image
Google Play Music で音楽が同期できない@Android 4.0

Google Play Music の Android アプリで、音楽が同期でき …

no image
PXEブートでネットワークインストール@RHEL5 or CentOS5

最近のPCやサーバーではPXEというネットワークブートを使って、CDやDVDを使 …

Kubernetesのコンパイル

昨今、OSSを製品からコンパイルして使うことは少なくなってきましたが、Kuber …

no image
異なるポート間でポートフォワーディング@NEC Aterm のルーター

NEC Aterm系のルーターは、ポートマッピングという機能があります。 通常の …