web-dev-qa-db-ja.com

Windows 10およびUbuntuデュアルブート

windows 8と一緒にUbuntuをインストールするときに直面したのと同じように、Windows 10と一緒にUbuntuをインストールするときに同じ問題に直面しますか?マイクロソフトは修正しましたか?

2
Abhinash Mahor

同じ問題に遭遇するかもしれない他の人々を助けるために、いくつかの問題について書きましょう。

コンピューターにはWindows 8がプリインストールされているため、Ubuntu用のスペースを確保するためにWindowsパーティションを縮小しました。それが去年どのように機能するか。

Windows 10アップグレードで2回目の再起動後、コンピューターはそれ以上起動しませんでした。 grubはgrubレスキューコマンドプロンプトのみを表示しました。後でウィンドウがパーティションスキームを変更したために問題が発生したことがわかりました。ブートパーティションはgrubが予期した場所ではなくなりました。私はこれがどのように、そしてなぜ起こったのか分かりません。

最初にできることは、「ls」を使用してgrubレスキューでパーティションを表示することです。私のものは(hd0、gpt1)、(hd0、gpt2)などでした。ブートパーティションがどのパーティションかを調べてみてください。適切なパーティションが見つかるまで、次のコマンドを試しました。

ls (hd0,gpt1)/

ls (hd0,gpt1)/boot

ls (hd0,gpt2)/

等.

次に、grub rescueプロンプトでsetと入力します。 grubがファイルを探す場所を表示します。私の場合、(hd0、gpt6)は(hd0、gpt7)に移動しました。表示されるsetコマンド:

prefix=(hd0,gpt6)/boot/grub

root=hd0,gpt6

正しいパーティションを指すようにプレフィックスとルートの設定を変更します。私の場合、コマンドは次のとおりです。

set prefix=(hd0,gpt7)/boot/grub

set root=(hd0,gpt7)

次に、レスキューモードから通常モードに切り替えます。

insmod normal

normal

通常のgrubメニューが表示されます。これで、Windowsを起動してWindowsのアップグレードを完了できます。問題は、再起動するたびに適切なパーティションについてgrubレスキューに通知する必要があることです。それが私がやった方法です。 Windowsがパーティションにさらに変更を加えるのかブートするのかわからなかったため、grubの問題を後から残しました。

Windowsが終了したら、grubの問題を解決し始めました。 「e」を押して、Ubuntuのブートオプションを編集します。すべて(hd0、gpt6)を(hd0、gpt7)に変更し、Ubuntuを起動しました。ただし、暗号化されたパーティションとcryptswapを使用します。起動時に、Ubuntuはパスフレーズを要求しました。幸いなことに、Ubuntuのインストール時に保存し、ブート時に入力しました。 Ubuntuは問題なく起動しました。 (hd0、gpt6)を(hd0、gpt7)に置き換えてSudo grub-installを実行した/boot/grub/grub.cfgを修正しました。

今では暗号化のみでした。ルートUbuntuパーティションが1つ(6から7)に上げられたため、スワップパーティションも同様の変更を受けました。/dev/sda7ではなく/ dev/sda8を指すように/ etc/crypttabファイルを変更する必要がありました。

Ubuntuには2つのパーティション(ルートとスワップ)のみを使用しています。 Windowsと共存する他のオペレーティングシステムがより多くのパーティションを使用する場合、さらに変更が必要になる場合があります。特に、パーティションがUUIDではなく番号に従ってマウントされている場合。/etc/fstabを見てください。パーティションがUUIDで識別される場合、問題はないはずです。ただし、/ dev/...行がある場合、番号が変更されている場合は修正する必要があります。

6
nobody

私はrEFInd Boot Managerがこれに役立つと信じています:

http://www.rodsbooks.com/refind/

考慮すべき他のブートローダーは次のとおりです。

https://en.wikipedia.org/wiki/Comparison_of_boot_loaders

0
Sean Ercanbrack