Eseguo Linux come sistema operativo principale e avvio FreeDOS in una macchina virtuale. La maggior parte delle volte, utilizzo QEMU come emulatore per PC, ma a volte eseguo altri esperimenti con GNOME Boxes (che utilizza QEMU come macchina virtuale back-end) o con VirtualBox.
Più risorse Linux
- Comandi Linux cheat sheet
- Cheat sheet sui comandi avanzati di Linux
- Corso online gratuito:Panoramica tecnica RHEL
- Cheat sheet della rete Linux
- Cheat sheet di SELinux
- Cheat sheet dei comandi comuni di Linux
- Cosa sono i container Linux?
- I nostri ultimi articoli su Linux
Mi piace giocare ai classici giochi DOS e, a volte, faccio apparire un'applicazione DOS preferita. Insegno in un corso di Management Information Systems (MIS) in cui parlo della storia dell'informatica e, a volte, registrerò una dimostrazione usando FreeDOS e un'applicazione DOS legacy, come As-Easy-As (il mio foglio di calcolo DOS preferito, una volta rilasciato come "shareware" ma ora disponibile gratuitamente da TRIUS, Inc).
Ma usare FreeDOS in questo modo significa che devo trasferire file tra la mia macchina virtuale FreeDOS e il mio sistema desktop Linux. Lascia che ti mostri come lo faccio.
Accesso all'immagine con guestmount
Accedevo all'immagine del mio disco virtuale calcolando l'offset sulla prima partizione DOS, quindi chiamando Linux mount
comando con il giusto mix di opzioni per abbinare quell'offset. Questo era sempre soggetto a errori e non molto flessibile. Fortunatamente, c'è un modo più semplice per farlo. Il guestmount
programma dal pacchetto libguestfs-tools ti consente di accedere o montare l'immagine del disco virtuale da Linux. Puoi installare libguestfs-tools
usando questo comando su Fedora:
$ yum install libguestfs-tools libguestfs
Utilizzando guestmount
non è facile come fare doppio clic sul file dal file manager di GNOME, ma la riga di comando non è troppo difficile da usare. L'utilizzo di base di guestmount
è:
$ guestmount -a image -m device mountpoint
In questo utilizzo, immagine è l'immagine del disco virtuale da utilizzare. Sul mio sistema, ho creato la mia immagine del disco virtuale QEMU con qemu-img
comando. Il guestmount
il programma può leggere questo formato di immagine del disco, così come il formato di immagine QCOW2 utilizzato da GNOME Boxes o il formato di immagine VDI utilizzato in VirtualBox.
Il dispositivo opzione indica la partizione sul disco virtuale. Immagina di utilizzare questo disco virtuale come un vero disco rigido. Accederesti alla prima partizione come /dev/sda1
, la seconda partizione come /dev/sda2
, e così via. Questa è la sintassi per guestmount
. Per impostazione predefinita, FreeDOS 1.3 RC4 crea una partizione su un'unità vuota, quindi accedi a quella partizione come /dev/sda1
.
E punto di montaggio è la posizione in cui "montare" il filesystem DOS sul tuo sistema Linux locale. Di solito creo una directory temporanea con cui lavorare. Hai solo bisogno del punto di montaggio mentre accedi al disco virtuale.
Mettendo tutto insieme, uso questo set di comandi per accedere alla mia immagine del disco virtuale FreeDOS da Linux:
$ mkdir /tmp/freedos
$ guestmount -a freedos.img -m /dev/sda1 /tmp/freedos
Dopodiché, posso accedere ai miei file FreeDOS tramite il /tmp/freedos
directory, utilizzando i normali strumenti su Linux. Potrei usare ls /tmp/freedos
dalla riga di comando o apri il /tmp/freedos
punto di montaggio utilizzando il file manager del desktop.
$ ls -l /tmp/freedos
total 216
drwxr-xr-x. 5 root root 8192 May 10 15:53 APPS
-rwxr-xr-x. 1 root root 85048 Apr 30 07:54 COMMAND.COM
-rwxr-xr-x. 1 root root 103 May 13 15:48 CONFIG.SYS
drwxr-xr-x. 5 root root 8192 May 15 16:52 DEVEL
drwxr-xr-x. 2 root root 8192 May 15 13:36 EDLIN
-rwxr-xr-x. 1 root root 1821 May 10 15:57 FDAUTO.BAT
-rwxr-xr-x. 1 root root 740 May 13 15:47 FDCONFIG.SYS
drwxr-xr-x. 10 root root 8192 May 10 15:49 FDOS
-rwxr-xr-x. 1 root root 46685 Apr 30 07:54 KERNEL.SYS
drwxr-xr-x. 2 root root 8192 May 10 15:57 SRC
-rwxr-xr-x. 1 root root 3190 May 16 08:34 SRC.ZIP
drwxr-xr-x. 3 root root 8192 May 11 18:33 TEMP
Ad esempio, per copiare diversi file sorgente C dai miei projects
Linux directory in C:\SRC
sull'immagine del disco virtuale, così posso usare i file in FreeDOS in seguito, posso usare Linux cp
comando:
$ cp /home/jhall/projects/*.c /tmp/freedos/SRC
I file e le directory sull'unità virtuale sono tecnicamente senza distinzione tra maiuscole e minuscole , quindi puoi farvi riferimento usando lettere maiuscole o minuscole. Tuttavia, trovo più naturale digitare file e directory DOS usando tutte le maiuscole.
$ ls /tmp/freedos
APPS CONFIG.SYS EDLIN FDCONFIG.SYS KERNEL.SYS SRC.ZIP
COMMAND.COM DEVEL FDAUTO.BAT FDOS SRC TEMP
$ ls /tmp/freedos/EDLIN
EDLIN.EXE MAKEFILE.OW
$ ls /tmp/freedos/edlin
EDLIN.EXE MAKEFILE.OW
Smontaggio con guestmount
Dovresti sempre smontare l'immagine del disco virtuale prima di riutilizzarla nella macchina virtuale. Se lasci l'immagine montata mentre esegui QEMU o VirtualBox, rischi di rovinare i tuoi file.
Il comando complementare a guestmount
è guestunmount
, per smontare l'immagine del disco. Indica semplicemente il punto di montaggio che desideri smontare:
$ guestunmount /tmp/freedos
Nota che questo comando è scritto in modo leggermente diverso da Linux umount
comando di sistema.