GNU/Linux >> Znalost Linux >  >> Linux

Kopírování souborů mezi Linuxem a FreeDOSem

Používám Linux jako svůj primární operační systém a spouštím FreeDOS na virtuálním počítači. Většinu času používám QEMU jako emulátor PC, ale někdy spustím další experimenty s GNOME Boxy (které používá QEMU jako back-end virtuální stroj) nebo s VirtualBoxem.

Další zdroje pro Linux

  • Cheat pro příkazy Linuxu
  • Cheat sheet pro pokročilé příkazy systému Linux
  • Bezplatný online kurz:Technický přehled RHEL
  • Síťový cheat pro Linux
  • Cheat sheet SELinux
  • Cheat pro běžné příkazy pro Linux
  • Co jsou kontejnery systému Linux?
  • Naše nejnovější články o Linuxu

Rád hraji klasické DOSové hry a občas vytáhnu oblíbenou DOSovou aplikaci. Učím třídu Management Information Systems (MIS), kde mluvím o historii výpočetní techniky, a někdy natočím ukázku pomocí FreeDOS a starší aplikace pro DOS, jako je As-Easy-As (moje oblíbená DOSová tabulka – jakmile vyjde jako „shareware“, ale nyní je k dispozici zdarma od společnosti TRIUS, Inc).

Ale používání FreeDOS tímto způsobem znamená, že potřebuji přenášet soubory mezi svým virtuálním strojem FreeDOS a mým desktopovým systémem Linux. Dovolte mi, abych vám ukázal, jak to dělám.

Přístup k obrazu pomocí guestmount

Kdysi jsem přistupoval k obrazu virtuálního disku tak, že jsem vypočítal offset k prvnímu oddílu DOS a pak jsem zavolal Linux mount příkaz se správnou kombinací možností, které tomuto posunu odpovídají. To bylo vždy náchylné k chybám a nebylo příliš flexibilní. Naštěstí existuje jednodušší způsob, jak to udělat. guestmount program z balíčku libguestfs-tools umožňuje přístup nebo připojit obraz virtuálního disku z Linuxu. Můžete si nainstalovat libguestfs-tools pomocí tohoto příkazu na Fedoře:

$ yum install libguestfs-tools libguestfs

Pomocí guestmount není tak snadné jako poklepání na soubor ve správci souborů GNOME, ale použití příkazového řádku není příliš obtížné. Základní použití guestmount je:

$ guestmount -a image -m device mountpoint

V tomto použití obrázek je obraz virtuálního disku, který se má použít. Na svém systému jsem vytvořil obraz virtuálního disku QEMU pomocí qemu-img příkaz. Guestmount program umí číst tento formát obrazu disku, stejně jako obrazový formát QCOW2 používaný boxy GNOME nebo obrazový formát VDI používaný ve VirtualBoxu.

 zařízení volba označuje oddíl na virtuálním disku. Představte si použití tohoto virtuálního disku jako skutečného pevného disku. K prvnímu oddílu byste přistupovali jako /dev/sda1 , druhý oddíl jako /dev/sda2 , a tak dále. To je syntaxe pro guestmount . Ve výchozím nastavení vytvoří FreeDOS 1.3 RC4 jeden oddíl na prázdném disku, takže k tomuto oddílu přistupujte jako /dev/sda1 .

připojovací bod je umístění pro "připojení" souborového systému DOS na váš místní systém Linux. Obvykle vytvořím dočasný adresář, se kterým budu pracovat. Přípojný bod potřebujete pouze při přístupu k virtuálnímu disku.

Když to dáme dohromady, používám tuto sadu příkazů pro přístup k obrazu virtuálního disku FreeDOS z Linuxu:

$ mkdir /tmp/freedos
$ guestmount -a freedos.img -m /dev/sda1 /tmp/freedos

Poté budu mít přístup ke svým souborům FreeDOS prostřednictvím /tmp/freedos adresář, pomocí běžných nástrojů na Linuxu. Mohl bych použít ls /tmp/freedos na příkazovém řádku nebo otevřete soubor /tmp/freedos přípojný bod pomocí správce souborů na ploše.

$ 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

Chcete-li například zkopírovat několik zdrojových souborů C z mých projects Linuxu adresáře do C:\SRC na obraz virtuálního disku, abych mohl později použít soubory pod FreeDOS, mohu použít Linux cp příkaz:

$ cp /home/jhall/projects/*.c /tmp/freedos/SRC

Soubory a adresáře na virtuálním disku technicky nerozlišují malá a velká písmena , takže na ně můžete odkazovat pomocí velkých nebo malých písmen. Připadá mi však přirozenější psát soubory a adresáře DOS pomocí velkých písmen.

$ 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

Odpojení pomocí připojení hosta

Vždy byste měli odpojit obraz virtuálního disku, než jej znovu použijete ve svém virtuálním počítači. Pokud necháte obraz připojený, když spouštíte QEMU nebo VirtualBox, riskujete, že si své soubory zkazíte.

Doprovodný příkaz k guestmount je guestunmount , pro odpojení obrazu disku. Stačí zadat přípojný bod, který chcete odpojit:

$ guestunmount /tmp/freedos

Upozorňujeme, že tento příkaz se mírně liší od linuxového umount systémový příkaz.


Linux
  1. Kopírování souborů a adresářů v Linuxu

  2. Najděte a zkopírujte soubory

  3. rozdíl kopírovat obsah složky mezi /. a /* v linuxu

  1. Linux – sdílení souborů mezi hostitelem Linuxu a hostem Windows?

  2. Příkazy správy souborů Linux pro vytváření, kopírování, přesouvání a odstraňování souborů

  3. Jak kopírovat soubory v Linuxu a Unixu? 10 cp Příklady příkazů

  1. Sdílejte soubory mezi počítači se systémem Linux a Windows

  2. Jak bezpečně kopírovat soubory mezi hostiteli Linuxu pomocí SCP a SFTP

  3. Linux Odstraňte soubory a adresáře