grubを修正/インストール/再インストールするにはどうすればよいですか?


9

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

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

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


2
なぜデスクトップにインストールするのですか?ターゲットのネットブックに直接インストールしないのはなぜですか?スワップ用に10 GB !? Ext4 および /の場合は240 ?ドライブのMBRにGRUBをインストールしましたか?UEFIを使用していますか?設定したパーティションスキームを教えていただけますか?
terdon

順序:>デスクトップにインストールするのはなぜですか?ターゲットのネットブックに直接インストールしないのはなぜですか?ネットブックがライブのUSBに問題があるので、デスクトップからインストールしました。USBからデスクトップを起動できますが、ネットブックを起動しようとすると、シャットダウンする前に約45分間Mintのロゴが急速に点滅します。スワップ用に10 GB以上!?私も正当な理由を見なかった。私はそのスペースを緊急に必要としません。> Ext4および/の場合は240?...なんだか悪いの?私が見つけたすべてのソースは「Use Ext4」と言っており、インストーラーはパーティションに/を要求しました。
the.keV.nc 2014年

結構です(これはunetbootinを使用したことが原因かもしれませんが、同様の問題があり、MultiSystemで作成されたUSBで動作しましたが、このスレッドも表示されます。他の質問にも回答できますか?UEFIを使用していますか?インストールしましたか?ドライブを
こすっ

>ドライブのMBRにgrubをインストールしましたか?いいえ。インストーラーがMBRを独自に編集したと思いました。> UEFIを使用していますか?私の知る限りではありません。したほうがいい?>設定したパーティションスキームを教えていただけますか?ちょっと待って。
the.keV.nc 2014年

1
個人的には、ラップトップに直接インストールするためにもっと頑張ろうと思います。何か他のものをインストールすると、追加の複雑なレイヤーが追加されます。ライブUSBインストールとは異なるものを試してください。@terdonの提案については何も知りませんが、試してみるつもりです。
Faheem Mitha 2014年

回答:


16

したがって、ディスクにブートローダー(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. ドライブから起動してみてください。今回はグラブメニューが表示されます。


以前の提案で、私はnooblab.comの指示に従って正確にそれを行いました。そしてそれはうまくいった!デスクトップで、新しく作成したgrubからMintを起動できます。残念ながら、それでもネットブックの問題は解決していません。フォローアップの投稿に注意してください。
the.keV.nc 2014年

@ the.keV.nc私の以前の提案はどういう意味ですか?unetbootin以外のものを使用しましたか?私の回答の手順に従って問題を解決した場合は、それを承認済みとしてマークし、他の人がそれが正しい解決策であることを確認してください。
terdon

つまり、grubをインストールしたかどうかを尋ねたということです。心当たりがないようですので、こちらの手順に従ってMintのライブブートから再インストールしました。それは機能し、HDDをデスクトップに接続することでMint 16にアクセスできるようになりました。ただし、それでも私のネットブックでは機能しないため、フォローアップします。(そして、それを承認済みとしてマークすることについて言及してくれてありがとう。)
the.keV.nc 2014年

update-grubマニュアルページから- update-grub is a stub for running grub-mkconfig -o /boot/grub/grub.cfg。だから、何も行う必要がありませんgrub-mkconfigupdate-grub。私は後grub-installが正しい時間だと思います(違いがある場合)。したがって、基本的にはステップ4は必要ありません(出力は同じになるので、おそらくステップ5にシフトすることができます)。
Graeme

1
@Graeme実際には、私はupdate-grub完全に削除しました。それはDebianのものであり、あなたが言ったように、デバッグgrub-mkconfigに使用set -xした後に実行されるシェルスクリプトだけです。意味がありませんgrub-mkconfig。これで十分です。
terdon
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.