web-dev-qa-db-ja.com

どうすればgrubを修正/インストール/再インストールできますか?

それで私は250GB HDDから始めました、私がMintBookに変えようとしているEeePC 1015pemからのストックドライブ。ドライブは物理的に操作可能ですが、古いOSを含むすべてのデータが削除されています。このため、HDDをデスクトップに接続し、Unetbootin-585で作成したライブUSBからLinux Mint 16 Xfceをインストールしました。 swapには10GB、ext4/には240GBを確保してください。

ドライブは、デスクトップまたはネットブックのいずれかで起動することを拒否します。どちらのマザーボードも正しいシーケンスのビープ音を鳴らしているため、正常なように見え、両方のシステムのBIOSに正常にアクセスできます。ただし、コンピューターの起動後に表示されるのは、応答しないコマンドラインだけです。エラーメッセージ、grubやgrub-rescueはありません。

再フォーマットしてやり直す以外に試すことができるものはありますか? OSを起動できるブートローダーをインストールするにはどうすればよいですか?

9
the.keV.nc

したがって、ディスクにブートローダー(grubなど)をインストールしていないようです。つまり、有効なOSがインストールされていても、起動する方法がないため、使用できません。

HDDを稼働中のコンピューターに接続する必要があります(ライブCDを使用できます)。 chroot環境をセットアップし 、そこにGRUBをインストールします。

  1. 使用するパーティションを/としてマウントします(ドライブを/dev/sdb/パーティションsdb1と呼びますシステムによって異なる場合、正しいもの)をどこかに使用する必要があります:

    Sudo mount /dev/sdb1 /mnt/foo
    
  2. grubがアクセスする必要があるディレクトリをバインドします

    Sudo mount --bind /dev /mnt/foo/dev && 
    Sudo mount --bind /dev/pts /mnt/foo/dev/pts && 
    Sudo mount --bind /proc /mnt/foo/proc && 
    Sudo mount --bind /sys /mnt/foo/sys
    
  3. chroot環境をセットアップする

    Sudo chroot /mnt/foo
    
  4. Grubの構成ファイルを作成します。

    Sudo grub-mkconfig -o /boot/grub/grub.cfg
    

    複数のオペレーティングシステムがインストールされている場合は、上記のコマンドにそれらすべてがリストされていることを確認してください。例えば:

    $ Sudo grub-mkconfig -o /boot/grub/grub.cfg
    Generating grub.cfg ...
    Found background image: /usr/share/images/desktop-base/desktop-grub.png
    Found linux image: /boot/vmlinuz-3.10-2-AMD64
    Found initrd image: /boot/initrd.img-3.10-2-AMD64
    Found linux image: /boot/vmlinuz-3.2.0-4-AMD64
    Found initrd image: /boot/initrd.img-3.2.0-4-AMD64
    Found linux image: /boot/vmlinuz-3.2.0-3-AMD64
    Found initrd image: /boot/initrd.img-3.2.0-3-AMD64
    Found linux image: /boot/vmlinuz-3.2.0-2-AMD64
    Found initrd image: /boot/initrd.img-3.2.0-2-AMD64
    Found memtest86+ image: /boot/memtest86+.bin
    Found memtest86+ multiboot image: /boot/memtest86+_multiboot.bin
    Found Windows 7 (loader) on /dev/sda2
    done
    
  5. ドライブのMBRにgrubをインストールします(/dev/sdbを実際にインストールするドライブに変更してください)。

    grub-install /dev/sdb
    grub-install --recheck /dev/sdb
    
  6. chrootを終了し、すべてをアンマウントして、実行中のシステムを通常の状態に戻します。

    exit
    Sudo umount /mnt/foo/dev/pts /mnt/foo/dev /mnt/foo/proc /mnt/foo/sys /mnt/foo
    
  7. ドライブから起動してみてください。今回はグラブメニューが表示されます。

16
terdon