web-dev-qa-db-ja.com

GRUBブートローダーのハードディスクへのインストールが失敗します

Ubuntu Server 12.04 LTSを、3つのパーティションを持つハードウェアraid5を搭載したIBM 3650 M2にインストールしています。

sda1 /boot - 1 GB, ext3
sda2 lvm - 1 TB, ext4
sda3 swap - 24GB

GRUBのインストール中に、インストーラーがハードディスクにGRUBをロードできず、インストーラーメニューに戻るというメッセージが表示されます。

1
William

GRUBインストールが失敗した理由についての詳細を提供してください。

GRUBがインストールに失敗した理由に関する情報がない場合、可能な解決策を提案することは困難です。以下を試してみてください:

  1. ubuntu Live CDまたはUSBを起動します
  2. lVMパーティションをマウントします(/dev/sda2
  3. コマンドcat syslog | grep grubを実行します
    syslog/var/syslog on /dev/sda2のログファイルです)
  4. コマンドからの出力を編集して質問に追加します

GRUBインストールの問題はUEFIに関連していますか?

私の理解では、 IBM 3650 M2 はUEFI BIOSを使用しています。 GRUBのインストールに関する問題は、おそらくこれに関連していますか?その場合、次のリンクのいずれかが役立つ可能性があります。

1
irrational John

同様の問題がありました。押す Alt+F4 インストーラーの出力に切り替えると、Attempting to install GRUB to a partitionless disk or to a partition. This is a BAD idea.が表示されます

USBディスクは/dev/sdaとして検出され、ターゲットハードディスクは/dev/sdbからの出力に基づいてcat /proc/partitionsとして検出されたようです。

そこで、シェルをアクティブにして修正しました Alt+F2 セッションと次を実行しました:

chroot /target grub-install /dev/sdb

その後、インストーラーに戻りました(Alt+F1)、「ブートローダーなしで続行」を押します。

インストールが完了すると(USBスティックを抜いた)、grub>プロンプトが表示されたため、次のように here の指示に従いました(これはブートディスクが/dev/sda

grub> ls
(hd0) (hd0,msdos5) (hd0,msdos1)
grub> set root=(hd0,msdos1)
grub> ls /
lost+found/ etc/ ...
grub> ls /boot
config-3.11.0-26-generic ...
grub> linux /boot/vmlinuz-   # press Tab
                             # then add the following
          root=/dev/sda1
grub> initrd /boot/initrd    # press Tab
grub> boot    

システムが起動したら、ログインしてから:

Sudo update-grub
Sudo grub-install /dev/sda

再起動して、機能することを確認します。

Sudo shutdown -r now
1
Roger Lipscombe

私は同じ問題に遭遇したようです。ソフトウェアのインストールに失敗したようです。それがインストールされないというエラーが戻ってきて、それから私は他に何も進めることができませんでした。

設置部分にかかっていたと思います。

サーバーcdでこの問題を修正することはできません。インストールをレスキューしようとしましたが、うまくいきませんでした。私はそれが非常にバグだとわかりました!

これにはライブCDが必要です。 CDから起動し、ヒットを使用します Crl+F1。これにより、ブートセッションが開始されます。

次に、以下を実行します

Sudo mount /dev/sda1 /mnt
Sudo grub-install --root-directory=/mnt/ /dev/sda
*edit* at this point, also ensure that if /usr and /var are on seperate partitions that you mount them to /mnt/usr and /mnt/var
*edit 2* whithin the chroot you need to have /dev /run and /proc available for update-grub to work, use the following to acheive that: for i in /sys /proc /run /dev; do Sudo mount --bind "$i" "/mnt$i"; done
Sudo chroot /mnt
Sudo update-grub
Sudo reboot

それはそれの世話をする必要があります。

また、警告です。64ビットをインストールした場合は64ビットが必要になり、逆の場合はchroot中にエラーが発生します。 (私が持っているように)

0
stevoo

NVMe SSD上のWindows 10および2番目のSSD上のUbuntu 18.04でASUS Crosshair vi heroを使用して、ブートローダーがこの場所にインストールできないことを解決しました。

  1. BIOSの「ブート」ページで、fastbootを無効にします

  2. cSMページで「AUTO」を選択します

0
sean