まあ、私は一般的なベンダー固有の方法でいくつかの面倒を超えて、いくつかのファームウェアをアップグレードするには古すぎると思います。いくつかのDOSツールをダウンロードし(無料)、DOSブートメディアの作成に時間を無駄にし、実際にBIOSが起動し、最後にファームウェアアップグレードがフラッシュされます。
これが1980年代スタイルだ。
私は少し会いました。Linuxフラッシュツール~からコアスタートアッププロジェクト。さまざまなFLASHチップをサポートしているようです。しかし、実際にはどのように機能しますか?
ベンダーから提供されたファームウェアのアップグレードを正しい形式に変換するには、いくつかのトラップがあるようです。それとも正しいターゲットチップを決定する方法は?
現在、次のようにアップグレードする必要があります。
- 一部のSeagate 1.5TBディスク用ファームウェア
- 既存のAbit Athlon 64マザーボード用ファームウェア(Award BIOS)
- Thinkpad Bios/組み込みコントローラ Bios
Linuxシステムでデバイスファームウェアをアップグレードする方法は?
ベストアンサー1
FreeDOSによるフラッシュ、1回の再起動、リムーバブルデバイスなし
grub-pc
GRUB2を使用していることを確認してください(Ubuntuにそのパッケージがインストールされていることを確認してください)。- SYSLINUXのMEMDISKを入手してください。 Ubuntuからパッケージをインストールすると、
syslinux-common
メモリディスクは次の場所にあります。/usr/lib/syslinux/memdisk
- ダウンロードfdboot.img、ホームディレクトリ、またはアメリカのキーボードレイアウトを使用して簡単に入力できる他のディレクトリに保存します。
- FreeDOSイメージにフラッシュソフトウェアを挿入してください。
sudo -s
mkdir -p /mnt/floppy
mount -o loop -t msdos fdboot.img /mnt/floppy
cp -via FLASH.EXE BIOS.IMG /mnt/floppy/
(FLASH.EXE
そしてBIOS.IMG
例です)umount /mnt/floppy
- システムを起動し、GRUB2で停止します(ESCを押す)。
- cを押してGRUB2コマンドラインに入ります。
- MEMDISKロード:
- 入力する
linux16 (hd
。次にタブをタップします。ハードドライブのリストが表示されます。 linux16 (hd0,
たとえば、この行が表示されるようにハードドライブの選択を完了します。- Tab キーをもう一度押すと、パーティションのリストが表示されます。
/usr/lib/syslinux
Linuxインストールにインストールされているパーティションを見つける必要があります。 - これでハードドライブとパーティションの仕様があるので、次のようにパスを完成できます
linux16 (hd0,msdos3)/usr/lib/syslinux/memdisk
。 Enter キーを押します。
- 入力する
- FreeDOS ロード:
- 同じタブ補完を使用して検索を実行しますが、代わりに
fdboot.img
コマンドinitrd16
を使用してくださいlinux16
。次の行が表示されますinitrd16 (hd0,msdos3)/home/janus/fdboot.img
。 Enter キーを押します。
- 同じタブ補完を使用して検索を実行しますが、代わりに
- 作成
boot
してEnterを押します。 - FreeDOSブートメニューが表示されます。
- ドライバーは不要なので、「セーフモード」オプションを選択してください。
- DOSプロンプトで、ファームウェアリフレッシュ実行可能ファイルの名前を記録します(たとえば、.Enter
FLASH.EXE
キーを押します。 - 点滅が完了するまでお待ちください。
- ファームウェアプラッシャーはコンピュータを独自に起動したり、メッセージを表示したりできます。メッセージが再び表示されたら、Control-Alt-Deleteを押して再起動します。
- GRUB 構成は永久に変更されていないため、すぐにデフォルトのオペレーティングシステムに再起動します。
画像スペースが足りない場合は、最小の画像を使用してください。EUウェブサイト。画像を解凍してフィルタリングしますxxd
。今検索55アミノ酸。それはする必要があります0x1fe
。offset=$((0x200))
追加のインストールフラグでイメージをインストールできます。構文は$(())
Bash にのみ適用されますが、Zsh でも機能します。
または以下を参照してください。https://www.fladi.at/posts/large-freedos-boot-image/