Kaliデュアルブートは、USBフラッシュドライブを挿入しないと機能しません。

Kaliデュアルブートは、USBフラッシュドライブを挿入しないと機能しません。

私はKali LinuxとWindows 7を正常にダブルブートしました。したがって、セカンダリディスクから起動することを選択すると、GRUBはそこから場所を見つけてKaliを選択でき、すべてがうまく機能します。問題は、USBスティックが接続されている場合にのみ機能することです。奇妙に聞こえますが、本当です...

Kaliをインストールし、Rufusと一緒に画像をUSBスティックに焼きました。問題なくインストールがスムーズに行われましたが、「A」USBスティックを挿入した場合にのみKaliを起動できます。 「THE」USBスティックを挿入した場合ではなく、すべてのUSBスティックを使用できるという意味ではありません。 USBメモリースティック、他のことを試してみましたが、問題になりませんでした。 1つしかない場合は、USBスティックが接続されています(2番目のメモリースティックを接続しても機能しません)。同様のエラーが発生します。それにsdb3 not found。この問題を解決しました。 Kaliは常にUSBスティックをにマウントし、sdaKaliパーティションを持つパーティションは開いており、sdb他のディスクの他のパーティションは開いていますsdc(Kaliの場合は気にしないでください)。今、Kaliがその下にあるパーティションを見つけようとしているようですが、sdb3USBスティックが接続されていない場合ですsda3

私の言葉がどういう意味か理解してください。

sdbディスクの写真です

以下はディスクの写真ですsdb

Kaliはいつもで起動を試みているようですがsdb、USBスティックを挿入するとsdbUSBスティックがない時と状況が異なります。

これをどのように変更できますか?識別子を参照sdbし、実際にディスク自体を参照しない理由を知りたいです。

それでは、起動時にUSBスティックを挿入する必要がないようにこの問題を解決するにはどうすればよいですか?

編集する:の出力はlsblk次のとおりです。 ここに画像の説明を入力してください。 正直なsda1ところ、デバイスを完全にフォーマットしてから何が起こっているのか少し混乱しています...

編集2:grub install を実行すると、次のエラーが発生します。 ここに画像の説明を入力してください。

出力 parted -l

Model: SanDisk Extreme (scsi)
Disk /dev/sda: 62.7GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
 1      32.8kB  3020MB  3020MB  primary               boot, hidden
 2      3020MB  3021MB  721kB   primary


Model: ATA WDC WD30EZRX-00M (scsi)
Disk /dev/sdb: 3001GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system     Name                  Flags
 1      20.5kB  134MB   134MB                                         msftres
 2      135MB   2162GB  2162GB  ntfs            Basic data partition  msftdata
 3      2162GB  2980GB  818GB   ext4            Basic data partition  msftdata
 4      2980GB  2992GB  12.6GB  linux-swap(v1)  Basic data partition  msftdata
 5      2992GB  3001GB  8389MB  ntfs            Basic data partition  msftdata


Model: ATA WDC WD5000AAKX-0 (scsi)
Disk /dev/sdc: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End    Size   Type     File system  Flags
 1      1049kB  500GB  500GB  primary  ntfs         boot

[ -d /sys/firmware/efi ] && echo UEFI ||

簡単にBIOSを出力してみてください。

答え1

わかりました。

要約:2つのハードドライブ。 1つはgpt-schemaを使用し、2. ms-dosを使用します。

gptパーティションテーブルを含むハードドライブにBIOSモードでインストールし、その上にgrubをインストールするには、いわゆるBIOS ブートパーティション

もう1つの機会は、Windowsブートローダがあるドライブにgrubをインストールし、このドライブをBIOSの最初のブートメディアとして設定することです。

これ

Model: ATA WDC WD5000AAKX-0 (scsi)
Disk /dev/sdc: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End    Size   Type     File system  Flags
 1      1049kB  500GB  500GB  primary  ntfs         boot

私の言葉は。

答え2

Grubメニューを表示するにはF11を押す必要がありますが、WindowsドライブにGrubがインストールされているように見えます(起動できない他のUSBを使用してGrubから起動でき、Windowsディスクには起動フラグがある唯一のディスクであるため)。 )。

次のコマンドを使用して grub の位置を確認できます。グルセルマンズスクリプト。

USBを接続せずにKaliを起動するには、grubメニューからgrub shellと入力し(grubメニューが表示されたらcを押して)、説明に従ってください。ここ

あなたの情報によると、USBが接続されておらず、kaliインストールがgrubによって(hd0,3)呼び出されるsda3にあると仮定すると、grubシェルの起動順序は次のようになります。

set root=(hd0,3)              
linux /vmlinuz root=/dev/sda3
initrd /initrd.img
boot

正常に入力したら、/etc/default/grub/configポリシーが説明されているようにUUIDの使用を禁止していることを確認してください。ここ次に grub を再インストールします。起動可能なWindowsドライブ(現在のUSBが接続されていないsdb)にのみインストールを許可できます。

再起動する前に

cat /boot/grub/grub.cfg

そして、grub.cfgがUUIDを使用していることを確認してください。そうでない場合は、すでに指摘したとおり、後でUSBを接続したときに起動の問題を回避するには、この問題を解決する必要があります。

作業項目を編集して新しい Grub インストールが中断されるのを防ぐには、 grub.cfg に新しい UUID 設定メニュー項目を追加するのが最善です。

まず、sda3のUUIDを取得します。

sudo blkid

次に、Kali の既存の grub メニュー項目の内容を新しい grub メニュー項目にコピーして編集し、/dev/sda3 を対応する UUID に置き換えます。これらの編集にはgrub-customizerを使用し、他のツールもありますが、grub.cfgを手動で編集することはお勧めできません。

完成したカスタム項目は次のようになります。

#calls to insmod will be the ones you copied, these are mine
insmod part_gpt            
insmod ext2 
#this is your main edit
search --no-floppy --fs-uuid --set=root YourSda3Uuid
linux /boot/vmlinuz-WhateverVersion root=UUID=YourSda3Uuid ro quiet
initrd /boot/initrd.img-WhateverVersion

再起動してテストしてみてください。失敗した場合は、編集されていない(メニューの上部?)grubエントリを使用してKaliで再起動し、構文を確認してください。GRUBマニュアル

最後の一つ。

/に現在vmlinuzとinitrdへのリンクがある場合は、メニュー項目を次のように変更します。

linux /vmlinuz root=UUID=YourSda3Uuid ro quiet
initrd /initrd.img

カーネルが更新され、リンクが変更されると、メニュー項目は新しいカーネルを選択します。

関連情報