web-dev-qa-db-ja.com

YUMIUSBフラッシュドライブ起動時の「起動エラー」

[〜#〜] yumi [〜#〜] USBフラッシュドライブを少し前に作成しました。このドライブを使用して、さまざまなPCを正常に起動しました(つまり、 既存の質問 以外の状況)。

しかし、今日フラッシュドライブを使用してラップトップを起動しようとすると、次の1つのメッセージが表示されました。

_Boot error
_

その後、を使用してコンピュータを再起動することができました CtrlAltDel

YUMIドライブは起動可能なFAT32ドライブであるため、同じドライブを使用してデータを転送しています。ですから、どういうわけか起動できなくなっていないかどうかはわかりません。 Windows 7のディスクの管理では、ドライブはHealthy (Active, Primary Partition)として表示されます。

Windows 7(ドライブの作成に使用したのと同じマシン)でYUMI-2.0.5.6.exeを使用してドライブに別のLinuxディストリビューションを追加しようとしましたが、ブートローダーを修復できると期待していましたが、次のブートは同じでした。インストーラーの最初のログメッセージは_Good Syslinux exists_であったため、ブートローダーに触れなかった可能性があります。

既存のYUMIドライブのブートローダーを修復する方法はありますか?インストールウィンドウに対応するオプションが見つかりません。

install window screenshot

1
Melebius

multibootフォルダー内の次のファイルの名前を変更することで、YUMIにブートローダーの再インストールを強制することができました。

  • libcom32.c32
  • ldlinux.sys(デフォルトでは非表示)

次に、YUMIは、ウィザードを使用して別のISOをインストールするときに、ブートローダーを再インストールしました。ファイル ldlinux.sysが再作成されましたが、libcom32.c32そうではないので、名前を元に戻す必要がありました。その後、YUMIドライブを再び起動することができました!

説明されている動作は、次の YUMIソースコード に基づいています。

${IfNot} ${FileExists} "$BootDir\multiboot\libcom32.c32" 
${AndIf} ${FileExists} "$BootDir\multiboot\ldlinux.sys"
MessageBox MB_ICONEXCLAMATION|MB_OK $(WarningSyslinuxOLD)
Quit
${EndIf}

IfFileExists "$BootDir\multiboot\libcom32.c32" SkipSyslinux CreateSyslinux ; checking for newer syslinux
1
Melebius