今日の初め、私のコンピューターのブートドライブにはWindows10とUbuntu16.04が非常にうまくインストールされていました。
GRUB経由でUbuntuとWindowsのどちらを起動するかを選択できました。また、VMWareWorkstation内の仮想マシンとしてUbuntuを起動することもできました。
愚かな今夜、Windowsで仮想マシンとして実行されているときに、Ubuntu内からコマンドSudo apt-get dist-upgrade
を実行しました。
これは非常に奇妙なことをしました。何がわからないのですが、GRUBを更新しようとすると、完全にクラッシュしました。
Windowsを再起動すると、奇妙な外観のGRUB画面;通常のgrub画面ですが、メニューの周囲に@
記号が表示されます。WindowsまたはUbuntuを選択すると、Error: Command not found, press any key to continue
エラーが発生しました。いずれかを押すとキーを押すと、メインのGRUBメニューに戻りました。
すべてがバックアップされており、MacriumライブCDを使用してブートドライブを確認できます。
次のパーティションがあります。
1 - System Reserved = 100MB = This is something to do with Windows, but what? The UEFI bios?
2 - Boot (C:) = 83GB = This is where Windows 10 is installed
4 - (None) = 19.99GB = This where Ubuntu is installed
5 - (None) = 7.94GB = No idea what this is. 8 gb? Completely filled as well. What is this partition?
3 - (H:) = 450MB = No idea what this is.
では、このドライブにgrubを復元するために何を実行しますか?起動可能なUbuntuペンドライブを起動してgrub-install /dev/xxxxx
を実行する必要があると思いますが、xxxxx
を何に置き換えるかわかりません。
私は「ブート修復」と呼ばれるubuntuアプリケーションでドライブをスキャンしました、そしてこれはそれが私に与えたものです。
"blkid" output: ________________________________________________________________
Device UUID TYPE LABEL
/dev/loop0 squashfs
/dev/sda1 42F031C2F031BCCB ntfs Current
/dev/sdb1 9834F5D734F5B7F8 ntfs Archive
/dev/sdc1 7A900F02900EC51B ntfs System Reserved
/dev/sdc2 62BA1027BA0FF5F7 ntfs Boot
/dev/sdc3 8C009F66009F55D4 ntfs
/dev/sdc5 7d735d0f-0066-414d-88ad-2c49d8b7bbba ext4
/dev/sdc6 e2a27db6-9029-4cf6-903b-5403f64dc38d swap
/dev/sdd1 02FE-C63F vfat UUI
/dev/sr0 2016-03-02-11-04-09-00 udf RESCUE
grub-install /dev/sdc2
を実行する必要があると思います。「ブート」は私がブートドライブと呼んでいたものですが、よくわからないので、何も損傷したくないので、確認をお願いします。誰かが私のミステリーパーティション(私の最初のテーブルでSystem Reserved
、None
、H
とラベル付けされている)について私に記入してくれたら、私も感謝します。
基本的に、これが要約すると、grubを再インストールするためにgrub-install
にどのパスを与えるかということです。それがブートの問題を解決する方法でさえある場合はどうでしょうか。
問題は、どのsdX
を使用する必要があるかですが、どのsdcY
を使用するかではありません。 sda
とsdb
が「データドライブ」である場合、それはsdc
になります。指定されたデバイスは、grubがブートコード/コアイメージを配置する場所です。これは通常、MBRと、それとブートディスクの最初のパーティションとの間のMBR後のギャップです。
より大きな懸念は、grubモジュールなどがどこにインストールされるかです。これはオプション--boot-directory
で指定され、デフォルトは/boot
です。あなたの場合、別のパーティションがあるとは思わないので、ライブ環境(たとえば、sdc5
)に/mnt
をマウントする必要があります。次に、次のいずれかを実行します。
grub-install --boot-directory /mnt/boot /dev/sdc
または、/mnt
にchrootできる場合:
grub-install --boot-directory /boot /dev/sdc
ここで、--boot-directory /boot
は暗黙的に示されているため、省略できます。
システムにBIOSではなくUEFIがあり、ライブ環境がシステムのようなレガシーモードではなくUEFIモードで起動されている場合は、--target i386-pc
にgrub-install
を明示的に指定することもできます。ブートディスク(技術的には常にFAT12/16/32である必要があるEFIシステムパーティションがないため)。
update-grub
が適切であることを確認するには、grub-install
の後にgrub.cfg
を実行する必要があります。 grub-install
とは異なり、update-grub
はchrootAFAIKで実行する必要があります。
1-システム予約済み= 100MB =これはWindowsと関係がありますが、何ですか? UEFI bios?
System Reservedは、Linuxの/boot
パーティションのようなものです。 Windowsブートファイル(Windowsブートマネージャー、BCDストア...)のコピーがあります。通常、Windows回復環境もあります。これは主に、BitLockerで暗号化されたシステムボリューム(C:
)とWindowsマルチブート用に分離されています。
5-(なし)= 7.94GB =これが何であるかわかりません。 8ギガバイト?完全に満たされています。このパーティションは何ですか?
どうやらswap
パーティション。
3-(H :) = 450MB =これが何であるかわかりません。
おそらくいくつかの廃止されたOEMリカバリパーティション。元々は大きく、システム全体のリカバリイメージで構成されていると思いますが、Windows 10程度にアップグレードしたため、パーティションが削除されて縮小されました(AFAIRディスククリーンアップにはそれを実行するオプションもあります)。