[HowTo] Bootowalny FreeDOS na USB z wykorzystaniem VirtualBox

Awatar użytkownika
mario_7
Administrator
Administrator
Posty: 8613
Rejestracja: 30 sie 2006, 13:11
Płeć: Mężczyzna
Wersja Ubuntu: 20.04
Środowisko graficzne: GNOME
Architektura: x86_64

[HowTo] Bootowalny FreeDOS na USB z wykorzystaniem VirtualBox

Post autor: mario_7 »

Może zacznę od pytania: po co?
Po to, by czasem móc zaktualizować BIOS, a najczęściej instalatory są windowsowe albo DOS-owe. Pierwszego póki co nie odważyłbym sie uruchomić przez Wine, a drugi teoretycznie powinno się uruchamiać z dyskietki startowej. I tu pojawia się problem, bo o ile w stacjonarnych komputerach stacje dyskietek jeszcze są czasami obecne, to w laptopach ich praktycznie nie ma. Na szczęście da się dyskietkę zastąpić po prostu pamięcią USB.

Potrzebujemy 3 rzeczy:
1. VirtualBox

Kod: Zaznacz cały

sudo apt-get install virtualbox-ose virtualbox-ose-modules-$(uname -r)
(pamiętaj, aby dodać swojego użytkownika do grupy vboxusers, aby mógł korzystać z programu)
2. FreeDOS (wystarczy najmniejszy obraz ISO - fdbasecd.iso): http://www.freedos.org/freedos/files/
3. oczywiście pamięć USB

Teraz co należy zrobić:
1. Uruchom VirtualBox (w GNOME menu Aplikacje -> Narzędzia systemowe -> VirtualBox OSE)
2. Utwórz nową maszynę wirtualną z niewielkim dyskiem twardym (rozmiar taki, aby zmieścił się plik, który chcesz uruchomić pod DOS-em oraz nie za duży, aby zmieścił się na dysku USB; do prostych aktualizacji BIOS-u wystarczy kilka MB)
3. Zamontuj w maszynie pobrany obraz ISO z FreeDOS-em.
4. Uruchom maszynę wirtualną, zainstaluj FreeDOS na stworzonym wcześniej wirtualnym dysku twardym i wyłącz maszynę wirtualną.
5. Zamień plik wirtualnego dysku twardego na obraz dyskietki:

Kod: Zaznacz cały

vditool copydd ~/.VirtualBox/VDI/NazwaDysku.vdi ~/freedos_usb.img
w nowszych wersjach VirtualBoksa brak narzędzia vditool, więc należy wykonać następujące polecenie:

Kod: Zaznacz cały

VBoxManage clonehd --format RAW ~/.VirtualBox/VDI/NewHardDisk1.vdi ~/freedos_usb.img
(domyślna nazwa wirtualnego dysku twardego to NewHardDisk1.vdi)
6. Podłącz pamięć USB i zgraj jej zawartość na dysk twardy komputera (jeśli chcesz ją zachować). W kolejnym kroku wszystkie dane na dysku USB zostaną skasowane!
7.
UWAGA! Bardzo ważne jest, aby znać prawidłową nazwę urządzenia z pamięcią USB! Nieprawidłowa nazwa może spowodować skasowanie danych na dysku twardym komputera!
Najprostszy sposób aby sprawdzić nazwę:
odłącz i podłącz pamięć USB, następnie wykonaj to polecenie:

Kod: Zaznacz cały

dmesg | tail
Pojawi się kilka linii tego typu:

Kod: Zaznacz cały

[40966.134656] sd 6:0:0:0: [sdb] Attached SCSI removable disk
W drugim nawiasie kwadratowym znajduje się nazwa podłączonego przed chwilą dysku USB - w tym przypadku jest to sdb, ale w zależności od konfiguracji sprzętowej może to być sda, sdc, sdd itp. itd.

Najwyższy czas zamienić dysk USB w dyskietkę startową:
odmontuj dysk USB, jeśli zamontował się automatycznie po włożeniu (prawym klawiszem na ikonie dysku USB -> Odmontuj wolumin), a następnie wykonaj:

Kod: Zaznacz cały

sudo -s
cat ~/freedos_usb.img > /dev/nazwaUrządzenia; sync; sync; sync
Zamień nazwaUrządzenia na odczytaną wcześniej nazwę pamięci USB
Dyski twarde też bardzo często mają nazwę sda, sdb itd., dlatego upewnij się dwa razy, że wpisałeś nazwę urządzenia z pamięcią USB zanim naciśniesz enter!
W zależności od szybkości dysku USB oraz wielkość wirtualnego dysku twardego polecenie może potrwać dłuższą lub krótszą chwilę.
8. Gdy powyższa komenda zakończy działanie w terminalu wpisz:

Kod: Zaznacz cały

exit
a następnie odłącz i podłącz na nowo pamięć USB. Powinien automatycznie zamontować się wolumin FREEDOS o rozmiarze takim, jak utworzony w VirtualBoksie wirtualny dysk twardy. Na ten wolumin można skopiować dowolne pliki, które mają być później uruchomione w "czystym DOS-ie".
9. Gdy pamięć USB jest już przygotowana i zawiera wszystkie pliki można przystąpić do ponownego uruchomienia komputera.
Istnieją przynajmniej 2 wersję postępowania w tym momencie:
- należy jednorazowo wywołać bootmenu komputera i wybrać w nim pamięć USB
- lub należy w BIOS-ie zmienić kolejność bootowania, aby pamięć USB była w kolejności przed dyskiem twardym
W trakcie uruchamiania komputera pojawiają się informacje jakim klawiszem można uruchomić BIOS (często opisane jako Enter setup) lub wejść do bootmenu.
10. Gdy komputer uruchomi się z dysku USB pojawi się bootmenu FreeDOS-a. Domyślnie zaznaczona jest pozycja 2:
2 - Load FreeDOS with EMM386+EMS and SHARE
jednak w moim przypadku ta opcja nie pozwalała na aktualizację BIOS-u - program flashujący zgłaszał błąd ochrony pamięci.
Uruchomienie FreeDOS-a wybierając pozycję 3 pozwoliło mi dokonać aktualizacji:
3 - Load FreeDOS including HIMEM XMS-memory driver
Nie opisuję w tym poradniku jak posługiwać się VirtualBoksem ani DOS-em - to zupełnie inne zagadnienia.

Podstawą tego poradnika jest wpis na blogu: http://blog.jamponi.net/2008/06/make-bo ... s-and.html
Testowałem kilka metod instalacji FreeDOS-a na USB, jednak dopiero ta zadziałała.
ODPOWIEDZ

Wróć do „Software-Inne”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 0 gości