GNU/Linux >> Linux Esercitazione >  >> Linux

Copia i file tra Linux e FreeDOS

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 .

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.


Linux
  1. Copia file e directory in Linux

  2. Come copiare in modo sicuro file tra host Linux utilizzando SCP e SFTP

  3. Linux:condividi file tra host Linux e guest Windows?

  4. Comandi di gestione dei file Linux per creare, copiare, spostare ed eliminare file

  5. Come copiare file in Linux e Unix? 10 cp Esempi di comandi

Comando Cp in Linux (copia file)

Installa Dropbox per condividere file tra Linux e Windows

Come condividere file di giochi Steam tra Linux e Windows

Come copiare file e directory nel terminale Linux

Come copiare file tra host e contenitore Docker

Condivisione di file tra Linux Mint e Windows 10