grubがWindows 7オプションを表示するのはなぜですか?

grubがWindows 7オプションを表示するのはなぜですか?

私は最近私のコンピュータにmint 17をインストールしました。

$ parted -l
Model: ATA PLEXTOR PX-256M5 (scsi)
Disk /dev/sda: 256GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos

Number  Start   End    Size   Type      File system  Flags
 1      1049kB  256MB  255MB  primary   ext2         boot
 2      257MB   256GB  256GB  extended
 5      257MB   256GB  256GB  logical                lvm


Model: ATA SAMSUNG HD103SJ (scsi)
Disk /dev/sdb: 1000GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system  Flags
 1      32.3kB  1000GB  1000GB  primary  ext3


Model: Linux device-mapper (linear) (dm)
Disk /dev/mapper/mint--vg-root: 252GB
Sector size (logical/physical): 512B/4096B
Partition Table: loop

Number  Start  End    Size   File system  Flags
 1      0.00B  252GB  252GB  ext4


Model: Linux device-mapper (linear) (dm)
Disk /dev/mapper/mint--vg-swap_1: 4291MB
Sector size (logical/physical): 512B/4096B
Partition Table: loop

Number  Start  End     Size    File system     Flags
 1      0.00B  4291MB  4291MB  linux-swap(v1)

ATA PLEXTOR PX-256M5ディスクには以前はWindows 8がインストールされていましたが、再フォーマットされて完全に消える必要があり、Linux Mintがインストールされています。

TA SAMSUNG HD103SJのディスクにはWindows 7があるため、これはそのディスクに関連していると思われます。 Mintはこのディスクを自動的にマウントします(fstabエントリはありません)。

fdiskとmkfsを使用して手動でディスクにパーティションを正常に作成しましたが、コンピュータを再起動してもWindows 7のオプションが表示されます。

私が何を見逃しているのか教えてくれる人はいますか?

答え1

次のコマンドを実行する必要があることがわかりました。

sudo update-grub

これにより、私の/boot/grub/grub.cfgファイルが更新され、Windows 7オプションが削除されました。

答え2

Grubのメニューはハードウェアをスキャンするのではなく、設定ファイルから来ます。ただし、パーティションを変更したら、ハードウェアを検索してプロファイルを作成できます。

これを行うコマンドは、grub-mkconfig(Debian派生)またはgrub2-mkconfig(Fedora派生)です.私はMintが電子だと思いましたが、とにかく実際にはそのうちの1つだけがインストールされます。

既存のディレクトリがあることを再確認してください/boot/grub2/grub.cfg。それ以外の場合は、grubサブディレクトリが必要です grub.cfg/bootこれを支持する(例えばcp grub.cfg grub.cfg.bk)。その後、su root実行する必要がありますgrub-mkconfig(またはgrub2-...)。これは標準出力として印刷されます。これは単にそれが動作することを確認することです。もしそうなら、

grub-mkconfig > /etc/grub2/grub.cfg

これが正しい長さであるとします。リダイレクトsuの代わりにandを使用すると言う理由()。今回は出力が大幅に減少します。sudo>Found linux image:

再起動するとオプションが更新されます。何らかの理由で新しい設定が機能しない場合は、Live CDを起動して作成したgrub.cfgバックアップと交換する必要があります。

答え3

提供された情報によれば、Linux以外のオペレーティングシステムがインストールされていない場合は、os-proberを無効にすることを選択できます。

これを行う2つの方法:

  • grub 基本ファイルで GRUB_DISABLE_OS_PROBER=true を設定します (/etc/default/grub? - Mint では不明)
  • os-proberパッケージを削除します(grub-mkconfigは見つからない場合はこの部分をスキップします)。

発生する可能性のある問題は、一部のセクタにチェックする署名がまだ含まれているため、os-proberがWin7がまだディスクに存在すると誤って信じていることです。もう1つの解決策は、ドライブにまだ重要なデータがない場合(最近パーティションを再割り当てしてフォーマットしたことを示唆しているように見える)、最初の10 Mb程度をゼロにしてから(たとえば)dd if=/dev/zero of=/dev/sdb count=1 bs=10Mブートタグを再インストールしてパーティションを再割り当てします。再フォーマットすることです。 。

何を試す前に/boot/.../grub.cfgをチェックすると、どのデバイスがWin 7を使用しているかが検出されたことがわかります。

関連情報