web-dev-qa-db-ja.com

不要なGRUBコマンドブート中のプロンプト

私はラップトップにWindowsと一緒に最新のDebianバージョンをインストールしました(SSDメモリを15 GB縮小して、Debianのパーティションを作成しました)。問題は、GRUBメニュー選択と呼ばれるものがない限り、常にWindowsを実行していて、WindowsとDebianのどちらを実行するかを選択するように実際に要求されなかったことです。

数時間読んでいたので、このサイト https://itsfoss.com/no-grub-windows-linux/ にアクセスして、最終的にこれの解決策を見つけたと思いました。残念ながら、これらのコマンドをWindows cmdに入力した直後:

bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi

私がインストールしたUbuntuではなく、Debianであることに気付きました...

今、私は本当にオプションがありません、DebianもWindowsも起動しません、私が見る唯一のものは私が思うものですGRUBコマンドプロンプト。

enter image description here

私は今どうすればいい?

1

手元の問題

システムを起動できず、grub>シェルでスタックしています。

1つのディスクにWindowsとDebianを備えたデュアルブートシステムがあります。

免責事項

UEFIを含むBCDエントリにDebianエントリを追加するコマンドを実行することについて言及しました。 Debianをインストールしたとき、 [〜#〜] uefi [〜#〜] を使用してDebianシステムをインストールしたことを覚えていますか?

UEFIをセットアップしなかった場合は、 ここ および ここ で説明されている手順に従ってシステムを再インストールする方が速い場合があります。

GRUBからのリカバリー

まず、GRUBエントリを起動できるように修正する必要があります。 このスタック交換ポストを見つけました これは、grubレスキューからの回復をカバーしています。ユーザーDocSalvagerをフォローしています、あなたの/bootを含むDebianパーティションを見つける必要があります

grub> ls
[ Here should be a list of devices and partitions, e.g. (hd0,1) (hd0,2) (etc) ]

Debianパーティションを探したい場合は、次のようになります。

grub> ls (hd0,4)/boot

initrd.img-... vmlinuz-...または/grubのようなものを含む結果が見つかるまで、リストされているすべてのパーティションに対してこれを繰り返します。 Debianブートイメージを含むパーティションを見つけたら、次の手順を実行します。

grub> set root=(hd0,[partition number you found])/boot
grub> insmod linux
grub> linux (hd0,[partition number you found])/boot/vmlinuz-[image name]
grub> initrd ((hd0,[partition number you found])/boot/initrd.img-[image name]
grub> boot

ここでDebianシステムを起動する必要があります。次の方法でシステムをさらに修復する必要がある場合があります。

$ cd /boot
$ mv mod/* grub
$ reboot

これも含めます リンク これらの手順に従って、ブーツを修復することもできます。

代替手順

これが、Debian Wikiの 実行するいくつかの手順 です。

Debianシステムで起動したら、次を実行します。

[ -d /sys/firmware/efi ] && echo "EFI boot on HDD" || echo "Legacy boot on HDD"
should return "EFI boot on HDD".

mount /dev/sd[Debian boot Partition, e.g. sda4] /boot/efi
apt-get install --reinstall grub-efi
grub-install /dev/sdX \\ X being the disk with your operating systems
update-grub
file /boot/efi/EFI/debian/grubx64.efi \\ Verify that the file exists
efibootmgr --verbose | grep debian \\ Verify nvram entry was created

これで、再起動してグラブメニューを表示できるようになります。

GRUB 2メニューへのWindowsエントリの追加

GRUBからWindowsが見つからないことがわかった場合は、レスキューディスクなどではなく、Debianインストールで起動したら、次の手順に従う必要があります 手順

Sudo os-prober \\ If you see your Windows Partition then you can run the next step
Sudo grub2-mkconfig
Sudo update-grub

os-proberでWindowsパーティションが見つからない場合は、Windowsファイルシステムをマウントする必要があります。 これらの手順に従ってntfs-3gをインストールしてから、Windowsをマウントします。

mount -t ntfs-3g -o ro /dev/sd[Windows Partition] /media/windows
Sudo os-prober
Sudo grub2-mkconfig
Sudo update-grub

Windowsのエントリが追加されます。 /etc/grub.d/40_customで、お好みのテキストエディタを使用して手動でエントリを作成することもできます。

menuentry "Windows" {
   set root='(hd0,1)' \\ Remember that this should be your Windows boot partition.
   chainloader +1
} 

結論

grubの起動プロセスを修復する必要があります。私が概説し、リンクしたいくつかの方法があります。これが新規インストールの場合は、 Wikiのアドバイス に従ってDebianを再度インストールすることをお勧めします。

GRUBでの起動に関する別の link および同様の問題についての別の forum post を含めます。

この回答に関して質問や問題がある場合はコメントしてください。コマンドを試す前に、提供した各リンクをよく読んでおくことを強くお勧めします。誤解を修正し、投稿を改善するためのフィードバックに感謝します。必要に応じて回答を更新できます。

ベストオブラック!

1
kemotep

ああ、これが原因で、Debianデュアルブートで過去に私が引き起こした苦痛は……。

まず最初に... BIOS(UEFI)でセキュアブートを無効にしましたか?: https://askubuntu.com/questions/891248/ubuntu-16-04-how-can-i-disable-secure-ブート

2番目に確認する必要があるのは、直接BIOSを起動する場合(UEFIの可能性が高い)、ブートマネージャーからパーティションを選択して、ブート可能なパーティションにアクセスできることです。これに似たものがあるはずです: https://help.ubuntu.com/community/UEFI

そのガイドは、インストールの正しい方向を示しているはずです。 10回のうち9回は、セキュアブートを最初に無効にしていないことが原因です。それが完了したら、ディストリビューションを再インストールするだけで、すぐに起動するはずです。

ところで... UbuntuはDebianに基づいています。若干異なるスキンとカスタムインストールGUIを除いて、基本的なプロセスは同じである必要があります。

0
bgregs

同じ問題が、Windows 10とLinux Mint 19を搭載したDellラップトップで発生しました。つまり、Windowsで作業していて、突然HDDがディスクリストに表示されなくなりました。 ssdドライブ上にあるため、ウィンドウは正常に動作していました。しばらく混乱した後、hddが機能しているかどうかを確認したかったので、BIOSから診断を実行した後、マシンを再起動し、GRUBリストを取得しました。

0
Eyayu Tefera