システムにUbuntu 10.10をインストールしました。ただし、Windows 7を再度インストールする必要があり、GRUBが変更されると予想されます。
現在、私のSoftware RAID 0のパーティションは次のようになっています。
nvidia_acajefec1はUbuntu 10.10で、nvidia_acajefec3はWindows 7です。
私はいくつかのガイドに従っていますが、通常のRAIDコンテンツを検出できないGRUBに常に固執しています。
実行してみました:
Sudo grub
> root (hd0,0)
GRUBは、ハードディスクが見つからないことを訴えます。だから私は試しました:
find (hd0,0)
そして、それは何も見つけられないと文句を言います。
だから私は試しました:
find /boot/grub/stage1
「ファイルが見つかりません」と言いました。
コンソールからのテキストは次のとおりです。
ubuntu@ubuntu:~$ grub
Probing devices to guess BIOS drives. This may take a long time.
[ Minimal BASH-like line editing is supported. For
the first Word, TAB lists possible command
completions. Anywhere else TAB lists the possible
completions of a device/filename. ]
grub> root (hd0,0)
root (hd0,0)
Error 21: Selected disk does not exist
grub> find /boot/grub/stage1
find /boot/grub/stage1
Error 15: File not found
**幸いなことに、私がやろうとしていることはGRUB2ではなくGRUB Legacyであると示唆する人がいました。だから私は提案されたウェブサイトに行きました( http://grub.enbug.org/Grub2LiveCdInstallGuide )見て回ってみて、試してみてください:
ubuntu@ubuntu:~$ Sudo fdisk -l
Unable to seek on /dev/sda
これは http://grub.enbug.org/Grub2LiveCdInstallGuide の指示のステップ2に過ぎず、/ dev/sdaをシークできないため続行できません。
しかしながら、
ubuntu@ubuntu:~$ Sudo dmraid -r
/dev/sdb: nvidia, "nvidia_acajefec", stripe, ok, 488397166 sectors, data@ 0
/dev/sda: nvidia, "nvidia_acajefec", stripe, ok, 488397166 sectors, data@ 0
ならどうしよう?ライブCD(Ubuntu 10.10)でfdiskにRAIDアレイを表示させる方法についてのアイデアはありますか?正直なところ、私はこのソフトウェアRAID 0システムでGRUB2を今すぐ復元しようとして非常に迷っています。
リカバリCDで起動する場合、ルートデバイスは/ではなく、RAMのISO表現です。この場合、最初にrealルートパーティションをマウントする必要があります。
ソフトウェアRAIDがアクティブかどうかを確認します。
$ cat/proc/partitions
パーティションテーブルエントリを表すsda
、sdb
、dm-0
に続いてdm-1
、dm-2
などが必要です。
dm-*
エントリが表示されない場合は、ソフトウェアRAIDを手動でアクティブ化する必要があります。
$ sudo dmraid-activate
/proc/partitions
をもう一度確認し、grub
が認識していることを確認します。
$ Sudo grub-mkdevicemap -m-
出力は異なる場合がありますが、次のようになります(* ata-WDC_WD5001AALS-00L3B2_WD-WCASY5902194 *はハードウェア構成によって異なります)。
(hd0)/ dev/disk/by-id/ata-WDC_WD5001AALS-00L3B2_WD-WCASY5902194
(hd1)/ dev/disk/by-id/ata-WDC_WD5001AALS-00L3B2_WD-WCASY5867648
(hd2)/ dev/mapper/nvidia_acajefec
realルートパーティションは、今すぐ/dev/mapper/nvidia_acajefec1
になっているはずです。将来のテストのためにこのパーティションをマウントします:
$ Sudoマウント/ dev/mapper/nvidia_acajefec1/mnt
$ sudo mount --bind/dev/mnt/dev
$ Sudoマウント--bind/proc/mnt/proc
$ Sudoマウント--bind/sys/mnt/sys
grub
がデバイスをパーティションにマップできるかどうかを確認します。
$ Sudo grub-mkdevicemap -msudo grub-probe --device-map =/proc/self/fd/0 --target = device/mnt
/dev/mapper/nvidia_acajefec1
のようなものが表示されるはずです。
パーティションの名前をGRUBデバイスとして識別します。
$ Sudo grub-mkdevicemap -m-| sudo grub-probe --device-map =/proc/self/fd/0 --target = drive/mnt
出力は(hd2,msdos1)
のようなものでなければなりません。
ここまでは順調ですね。 GRUBをインストール/更新するために、---(realルートパーティションに切り替えてブートブロックを更新する準備ができています。
$ Sudo chroot/mnt/bin/bash
$ Sudo update-grub
grub.cfgを生成しています...
背景画像が見つかりました:/usr/share/images/desktop-base/desktop-grub.png
Linuxイメージが見つかりました:/boot/vmlinuz-2.6.32-5-686-bigmem
initrdイメージが見つかりました:/boot/initrd.img-2.6.32-5-686-bigmem
/dev/mapper/nvidia_acajefec1にLinuxが見つかりました
/dev/mapper/nvidia_acajefec3にWindowsが見つかりました
完了
$ Sudo grub-install/dev/mapper/nvidia_acajefec
インストールが完了しました。エラーは報告されていません。
$ exit
システムを再起動する準備が整いました。
マウントする必要があるデバイスは/dev/nvidia_acajefec1
であり、インストールする必要があるデバイスは/dev/nvidia_acajefec
です。 http://grub.enbug.org/Grub2LiveCdInstallGuide の指示に従っておおよそ実行します。
Sudo mount /dev/nvidia_acajefec1 /mnt
Sudo mount --bind /dev /mnt/dev
Sudo mount --bind /proc /mnt/proc
Sudo mount --bind /sys /mnt/sys
Sudo chroot /mnt
grub-mkconfig -o /boot/grub/grub.cfg
grub-install /dev/nvidia_acajefec # Note that there is *not* a '1' at the end