Ejecuto Linux como mi sistema operativo principal e inicio FreeDOS en una máquina virtual. La mayor parte del tiempo, uso QEMU como mi emulador de PC, pero a veces realizo otros experimentos con GNOME Boxes (que usa QEMU como una máquina virtual de back-end) o con VirtualBox.
Más recursos de Linux
- Hoja de trucos de los comandos de Linux
- Hoja de trucos de comandos avanzados de Linux
- Curso en línea gratuito:Descripción general técnica de RHEL
- Hoja de trucos de red de Linux
- Hoja de trucos de SELinux
- Hoja de trucos de los comandos comunes de Linux
- ¿Qué son los contenedores de Linux?
- Nuestros últimos artículos sobre Linux
Me gusta jugar juegos clásicos de DOS y, a veces, mostraré una aplicación de DOS favorita. Enseño una clase de Sistemas de información de gestión (MIS) en la que hablo sobre la historia de la informática y, a veces, grabo una demostración usando FreeDOS y una aplicación heredada de DOS, como As-Easy-As (mi hoja de cálculo de DOS favorita, una vez lanzada). como "shareware" pero ahora disponible de forma gratuita a través de TRIUS, Inc).
Pero usar FreeDOS de esta manera significa que necesito transferir archivos entre mi máquina virtual FreeDOS y mi sistema de escritorio Linux. Déjame mostrarte cómo lo hago.
Acceso a la imagen con guestmount
Solía acceder a la imagen de mi disco virtual calculando el desplazamiento de la primera partición de DOS y luego llamando a Linux mount
Comando con la combinación correcta de opciones para que coincida con ese desplazamiento. Esto siempre fue propenso a errores y no muy flexible. Afortunadamente, hay una manera más fácil de hacerlo. El guestmount
El programa del paquete libguestfs-tools le permite acceder o montar la imagen del disco virtual de Linux. Puede instalar libguestfs-tools
usando este comando en Fedora:
$ yum install libguestfs-tools libguestfs
Usando guestmount
no es tan fácil como hacer doble clic en el archivo desde el administrador de archivos de GNOME, pero la línea de comandos no es demasiado difícil de usar. El uso básico de guestmount
es:
$ guestmount -a image -m device mountpoint
En este uso, imagen es la imagen de disco virtual a utilizar. En mi sistema, creé mi imagen de disco virtual QEMU con qemu-img
dominio. El guestmount
El programa puede leer este formato de imagen de disco, así como el formato de imagen QCOW2 usado por GNOME Boxes, o el formato de imagen VDI usado en VirtualBox.
El dispositivo La opción indica la partición en el disco virtual. Imagine usar este disco virtual como un disco duro real. Accedería a la primera partición como /dev/sda1
, la segunda partición como /dev/sda2
, y así. Esa es la sintaxis para guestmount
. De forma predeterminada, FreeDOS 1.3 RC4 crea una partición en un disco vacío, así que acceda a esa partición como /dev/sda1
.
Y punto de montaje es la ubicación para "montar" el sistema de archivos DOS en su sistema Linux local. Por lo general, crearé un directorio temporal para trabajar. Solo necesita el punto de montaje mientras accede al disco virtual.
Poniendo todo eso junto, uso este conjunto de comandos para acceder a mi imagen de disco virtual FreeDOS desde Linux:
$ mkdir /tmp/freedos
$ guestmount -a freedos.img -m /dev/sda1 /tmp/freedos
Después de eso, puedo acceder a mis archivos FreeDOS a través de /tmp/freedos
directorio, usando herramientas normales en Linux. Podría usar ls /tmp/freedos
en la línea de comando, o abre el /tmp/freedos
punto de montaje usando el administrador de archivos de escritorio.
$ 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
Por ejemplo, para copiar varios archivos fuente C de mis projects
de Linux directorio en C:\SRC
en la imagen del disco virtual, para poder usar los archivos bajo FreeDOS más tarde, puedo usar Linux cp
comando:
$ cp /home/jhall/projects/*.c /tmp/freedos/SRC
Los archivos y directorios de la unidad virtual son técnicamente insensibles a mayúsculas y minúsculas , para que puedas referirte a ellos usando letras mayúsculas o minúsculas. Sin embargo, me resulta más natural escribir archivos y directorios de DOS en mayúsculas.
$ 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
Desmontar con guestmount
Siempre debe desmontar la imagen del disco virtual antes de volver a usarla en su máquina virtual. Si deja la imagen montada mientras ejecuta QEMU o VirtualBox, corre el riesgo de estropear sus archivos.
El comando complementario a guestmount
es guestunmount
, para desmontar la imagen de disco. Simplemente proporcione el punto de montaje que desea desmontar:
$ guestunmount /tmp/freedos
Tenga en cuenta que este comando se escribe de forma ligeramente diferente a Linux umount
comando del sistema.