web-dev-qa-db-ja.com

/ bootのマージとgrub2エントリの再配置

10.10を使用しましたが、テスト目的で10.04を別のパーティションにインストールしました。 10.10は現在単一のパーティションにありますが、10.04では/ bootを3番目のパーティションに分離することにしました。今私の質問:

  • 10.10の/ bootを新しい/ bootパーティションに移動してマージするにはどうすればよいですか
  • (自動)エントリを再配置するには何を変更する必要がありますか?
  • 混乱を減らすために、エントリに配布名を含めるにはどうすればよいですか?
  • どちらかのディストリビューションが更新された場合、どのようにしてGrubの設定が同じであることを確認できますか?
2
Tobias Kienzler

これは、10.10のブートを別のパーティションに移動する方法です。

独自のパーティションに/ bootを置くことは、特に異なるハードディスク上で多くのLinux 
ディストリビューションを使用する場合に役立ちます。さらに、
 rootファイルシステムが破損した場合でも、/ boot 
が独立している場合は起動できます。
さあ始めましょう...まず最初に、新しいext3パーティション
を作成します。これは、新しい/ bootになります。大きさを決定するために、現在の/ bootが占めるスペースを
見てみましょう。 100Mbの値は
でほとんどのニーズに十分対応できます(/ bootに多数のイメージがあるカーネルハッカーでない限り
 
 
 $ du -h /boot

サイズがわかったら、先に進んでパーティションを作成します。 
 GPartedを使用できます...または、コマンドラインを使用する場合は、mkfsを使用します:
#mkfs -t ext3 /dev/hda#
次に、作成したパーティションを想定します。/dev/hdaXです(X 
を実際の数字に置き換えます)。次のように進めます(各
コマンドの前にSudoを追加するか、rootとして再ログインします):
 1。 #mkdir /mnt/newboot
2。 #mount/dev/hdaX /mnt/newboot
 3。 #cp -dpR/boot/* /mnt/newboot/
4。 #mv/boot /oldboot
 5。 #mkdir /boot
6。 #nano -w /etc/fstab
および/ boot行を次のように変更します:
/dev/hdaX/boot ext3 ro 0 0 
/bootをマウントすることに注意してくださいOSブートプロセス後は読み取り専用。 
/bootが
マウントされないようにするために、エントリ全体を完全に削除することもできます。
 7。 #umount /mnt/newboot
8。 #mount/dev/hdaX /boot
9。 #nano -w /boot/grub/menu.lst
次に、古いルートパーティションに対応するエントリを/ dev/hdaXに変更します。 
 grubの用語では、それが最初のハードドライブの場合は(hd0、X-1)に変換されます。 
たとえば、/ dev/hda8は(hd0,7)です。/bootパーティション自体が
 grubの目にあるルートパーティションであるため、/ boot/xxx.x 
エントリも/xxx.xに変更する必要があることに注意してください。たとえば、/ boot/grubは/ grubになります。最後に、grubを
 MBRにインストールします。問題:
 10。 #grub-install /dev/hda
(/dev/hdaを、
 Grubをインストールするハードディスクの/ dev /…エントリに置き換えます)。
すべてできました!今すぐ再起動します。
 P.S:/ bootに書き込みたいときはいつでも、次のように実行します。

リファレンス: http://tekguru.wordpress.com/2007/09/04/howto-moving-boot-to-its-own-partition/

そして、これは自動エントリを編集する方法です:

カスタムメニューの作成
 
ユーザーは、デフォルトの/etc/grub.d/40_customファイルを編集するか、
新しいファイルを作成できます。カスタムメニューのコンテンツを作成する最も簡単な方法は、
作業エントリを/boot/grub/grub.cfgからコピーすることです。コピーしたら、
 40_customの内容をユーザーの希望に合わせて調整できます。
 
デフォルトのサンプルカスタムファイル(/etc/grub.d/40_custom)に従って、
/etc/grub.d内のカスタムファイルの最初の2行は次のようになります:
#!/ bin/sh 
 exec tail -n +3 $ 0 
ユーザー/boot/grub/grub.cfgファイルから既存のmenuentriesをコピーできます(...)
 
一般的なmenuentry構築規則:
 
最初の行は開始する必要がありますmenuentryで終わり、{
で終わります。引用記号の間の領域がGRUB 2メニューに表示されます。
必要に応じて編集してください。
 menuentryの最後の行は} 
である必要があります。行の最後に空白を残さないでください
 set root =行はGRUB 2 /ブート場所((hdX、Y))
 linux行のルート参照はシステムパーティションを指す必要があります。
 If GRUB 2 cannot be foundカーネル、UUIDを
デバイスnaに置き換えてみてくださいme(例:/ dev/sda6)。
 grub.cfgからコピーされ、ユーザーによって変更されたサンプルエントリは、
のようになります。 {
 set root =(hd0,1)
 search --no-floppy --fs-uuid --set cb201140-52f8-4449-9a95-749b27b58ce8 
 linux/boot /vmlinuz-2.6.31-11-generic root = UUID = cb201140-52f8-4449-9a95-749b27b58ce8 ro quiet splash 
 initrd /boot/initrd.img-2.6.31-11-generic
}

リファレンス: https://help.ubuntu.com/community/Grub2

1
desgua