私のパーティション設定は次のとおりです。
[Win7] [Ubuntu] [extended [logical partition]]
(正確な順序で)
MBRにインストールされているブートローダーは、別のパーティションにセカンダリブートローダーをチェーンロードできる非標準のものです。または、/ dev/sda1にインストールされているGRUBを介してUbuntuを起動するこのオプションを使用します。この設定は常に機能していましたが、ハードドライブをアップグレードした後、GRUBを正常な状態に復元できないようです。最近のバックアップイメージをドライブに復元してアップグレードしました(これは過去に私にとってはうまくいきました)
しかし、今回、私はちょうど得る:
Error: no such partition. Grub rescue>
レスキュープロンプトで、これを使用してUbuntuインストールを起動できます。
set root=(hd0,1)
set prefix=(hd0,1)/boot/grub
insmod normal
normal
しかし、毎回それを入力するのはかなりばかげています。
これはfdisk -l
に基づく私のディスクレイアウトです
Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Device Boot Start End Blocks Id System
/dev/sda1 122896725 146336084 11719680 83 Linux
/dev/sda2 178053120 976773119 399360000 5 Extended
/dev/sda3 * 929 122881184 61440128 7 HPFS/NTFS/exFAT
/dev/sda5 178055168 976773119 399358976 7 HPFS/NTFS/exFAT
Partition table entries are not in disk order
grub-setup
、grub-install
、boot-repair
(MBRにインストールするオプションのみを提供するため機能しません)を試しましたが、どれも機能していません。
GRUBがインストールされたUSBサムドライブ(/ dev/sda1のラップトップのUbuntuインストールを起動するときに機能します)があり、そのgrub.cfgファイルは/ devのものと同一です。/sda1。
推測しなければならない場合、fdisk -l
にリストされているパーティションの順序がディスク上に配置されている順序と一致しないという事実は、これに影響しますか?
Grubプロンプトでset
と入力すると、
prefix=(hd0,msdos2)/boot/grub
root=hd0,msdos2
コマンドで解決された問題:
Sudo grub-install /dev/sda1 --force
--force
は、パズルの重要な欠落部分でした。