Dell VOSTRO 260BIOSを更新しようとしています。私はどこにでも行くのに苦労しています、詳細については参照してください:
Flashromを直接抽出することにしました。フラッシュステップを実行しようとはしていません。単にexeからROMを抽出するためです。したがって、exeをダウンロードしてdosemuを使用して実行しようとすると、次のようになります。
$ wget http://downloads.Dell.com/FOLDER01639275M/1/MS-A10.exe
$ dosemu -dumb MS-A10.exe > log
$ cat log
SfxDos v2.11. [2012/06/25]
Extracting Files: [6174382 / 6174382] 100%
Missing SMBIOS Table
これはどういう意味ですか?誰かがそれらのexeファイルから実際のファームウェアを抽出することに成功しましたか?動作するものが見つかりませんでした:
$ unrar l MS-A10.exe
UNRAR 5.00 beta 8 freeware Copyright (c) 1993-2013 Alexander Roshal
MS-A10.exe is not RAR archive
または
$ unzip -l MS-A10.exe
Archive: MS-A10.exe
End-of-central-directory signature not found. Either this file is not
a zipfile, or it constitutes one disk of a multi-part archive. In the
latter case the central directory and zipfile comment will be found on
the last disk(s) of this archive.
unzip: cannot find zipfile directory in one of MS-A10.exe or
MS-A10.exe.Zip, and cannot find MS-A10.exe.Zip, period.
参考のため:
$ file MS-A10.exe
MS-A10.exe: MS-DOS executable
この自己解凍型DOSexeからROMファイルを抽出するにはどうすればよいですか?
実際、それは些細なことでした。単にワインの下で実行してください。
$ wine MS-A10.exe
出力は.wineディレクトリにあります。
$ find $HOME/.wine | grep MS-A10
/home/mathieu/.wine/drive_c/users/mathieu/Temp/MS-A10
/home/mathieu/.wine/drive_c/users/mathieu/Temp/MS-A10/AFUWIN.EXE
/home/mathieu/.wine/drive_c/users/mathieu/Temp/MS-A10/AMIFLDRV.VXD
/home/mathieu/.wine/drive_c/users/mathieu/Temp/MS-A10/AMIFLDRV64.SYS
/home/mathieu/.wine/drive_c/users/mathieu/Temp/MS-A10/AMIFLDRV32.SYS
/home/mathieu/.wine/drive_c/users/mathieu/Temp/MS-A10/RosaBUU.exe
/home/mathieu/.wine/drive_c/users/mathieu/Temp/MS-A10/Pmxdll.dll
/home/mathieu/.wine/drive_c/users/mathieu/Temp/MS-A10/Idrvdll.dll
/home/mathieu/.wine/drive_c/users/mathieu/Temp/MS-A10/FWUpdLcl.exe
/home/mathieu/.wine/drive_c/users/mathieu/Temp/MS-A10/settings.ini
/home/mathieu/.wine/drive_c/users/mathieu/Temp/MS-A10/error.log
/home/mathieu/.wine/drive_c/users/mathieu/Temp/MS-A10/1176upd.BIN
/home/mathieu/.wine/drive_c/users/mathieu/Temp/MS-A10/AFUWINx64.EXE
/home/mathieu/.wine/drive_c/users/mathieu/Temp/MS-A10/RosaBUU.log
/home/mathieu/.wine/drive_c/users/mathieu/Temp/MS-A10/MS-A10.BIN
/home/mathieu/.wine/drive_c/users/mathieu/Temp/MS-A10/FWUpdLcl64.exe
と:
$ file MS-A10.BIN
MS-A10.BIN: Intel serial flash for PCH ROM
これは、このBIOSアップデートを実行しようとする人にはほとんど関心がないと思います。Win7/ 32ビット修復ディスクを使用することはオプションではないことに注意してください(私は ここ の指示に従いました)。実際、実行時に必要なDLLでは、oledlg.dllを見つける必要があります。
$ objdump -x RosaBUU.exe | grep DLL
vma: Hint Time Forward DLL First
DLL Name: dbghelp.dll
DLL Name: KERNEL32.dll
DLL Name: USER32.dll
DLL Name: GDI32.dll
DLL Name: COMDLG32.dll
DLL Name: WINSPOOL.DRV
DLL Name: ADVAPI32.dll
DLL Name: Shell32.dll
DLL Name: COMCTL32.dll
DLL Name: SHLWAPI.dll
DLL Name: oledlg.dll
DLL Name: ole32.dll
DLL Name: OLEAUT32.dll
どうやらこのDLLはWin7/32ビット修復ディスクからは存在しません。
ROM(Windowsが必要な場合があります)を抽出するためのコマンドラインスイッチがあります:
MS-A10.exe /writeromfile
追加のパラメータ「-」を指定してEXEファイルを実行した場合の出力は何ですか? ?
使用可能なコマンドラインオプションのリストが表示される場合があります。
DOS用の古いバージョンのRARで作成されている場合、通常、「-x」は、直後にBIOSフラッシャーを実行しようとせずに、抽出のみを実行します。
とにかく:Linux環境内からDOSベースのフラッシュユーティリティを実行することはできません。それが実際にあなたが見ているSMBiosメッセージを引き起こしています。これは、BIOSチップが見つからないことを意味します。 dosemuのようなエミュレーターは役に立ちません。 DOSコマンドにハードウェアへの必要な低レベルのアクセスを与えることはできません。
最良のオプションは、FreeDOSでUSBブートスティックまたはブータブルCDを作成し、そこからEXEを実行することです。 EXEを解凍する必要はまったくありません。 (読み取り専用メディアから実行する場合は、RAMディスクを作成してそこからEXEを実行するようにFreeDOSをセットアップする必要があります。BIOSファイルを抽出するための書き込み可能な作業ディレクトリが必要です。)