歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux技術

如何在Linux系統中制作可啟動img/iso鏡像文件

  img/iso文件是鏡像文件,在Linux系統操作中有時需要制作鏡像文件,那麼制作鏡像文件的方法有哪些呢?下面小編就給大家介紹下如何下Linux下制作可啟動img/iso文件。

 如何在Linux系統中制作可啟動img/iso鏡像文件

  制作鏡像文件有三種方法,cp, cat, dd 和其它專用工具。cp ,cat 和 dd都可以從設備復制文件來創建鏡像。而 dd 命令更為強大,可以通過指定塊大小,塊多少來直接創建鏡像。

  IMG 文件:

  因為cp, cat 只能從設備來制作鏡像,但又沒有專用工具來做 IMG 文件,故這裡用 dd 命令來制作 IMG 文件。

  1,制作

  dd if=/dev/zero of=fdimage.img count=2880

  or

  dd if=/dev/zero of=fdimage.img bs=1024 count=1440

  2,格式化

  mkfs.msdos fdimage.img

  3,修改

  可以用下面的命令 mount 後,可直接修改

  mount -o loop *.img /mnt

  4,可啟動

  因為制作可啟動鏡像一定會用到虛擬機,推薦用 Virtualbox,先到網上下個 DOS 啟動盤來引導。用 DOS 的 sys 命令傳遞系統。推薦使用 FreeDOS,屬自由軟件。也可用 dd 命令 來傳遞引導引導信息,並復制啟動啟動時所需文件來做啟動盤。以 FreeDOS 為例,傳遞啟動信息用以下命令,其中下載的啟動盤為 balder10.img 文件

  dd if=balder10.img of=fdimage.img bs=512 count=1 conv=notrunc

  多系統用 grub4dos,

  1),用 grub.exe 引導多系統

  2),安裝 grub 到MBR,用 grldr 來引導多系統。當然也可用同上面一樣的辦法用 dd 直接寫入引導信息。

  bootlace.com --floppy --chs 0x00

  注:才發現用 dd 命令只能從邏輯扇區開始 copy,先前我想可否用 dd 來將 grldr.mbr 寫入 u 盤,我用自己的 U 盤試了,結果不能打開了。因為我的 U 盤為 fat16 格式,邏輯扇區開始是OBR,接著是FAT表,結果把 FAT1 表給蓋了,那時還沒有想到還有 FAT2 呢,就格了,現在想起來郁悶啊,好多東西都沒有了。

  為什麼軟盤可以呢,因為它就沒有前面的63個扇區,直接從邏輯0扇區開始的。

  ISO 文件:

  因為文件系統的關系,就不能用 dd 來直接做 ISO 鏡像了(當然,它還是可以從設備制作 ISO 鏡像)。 ISO 文件的制作有專用工具,

  1,制作

  mkisofs -r -o cdimage.iso /home/XXX/cddir

  2,格式化

  用mkiso制作的 iso 已有文件系統 iso9660

  3,可啟動

  無論是引導單系統還是引導多系統都還是用 mkisofs 這個工具,只是加載到光盤的 boot loader 不一樣而已。當然也可以將 DOS 的引導器 (也就是它的引導扇區) 或 windows 的引導器 ( XP 系統的是 ntldr ) 放入讓光盤引導。下面只討論 grub4dos 的使用

  1),用 grub.exe 引導多系統

  用 DOS 加載 grub.exe 引導多系統

  2),將 grub 安裝到光盤 MBR

  在制作時可用下面的命令直接生成可啟動鏡像,其中 grldr, menu.lst 要放在 cddir 目錄下,也就是在 cd 根目錄。

  mkisofs -R -b grldr -no-emul-boot -boot-load-seg 0x1000 -o cdimage.iso cddir

  mkisofs -R -b grldr -no-emul-boot -boot-load-size 4 -o cdimage.iso cddir

  PS,下面給出 dd 命令和 mkisofs 參數說明

  dd (convert and copy files)

  dd 是 Linux/UNIX 下的一個非常有用的命令,作用是用指定大小的塊拷貝一個文件,並在拷貝的同時進行指定的轉換。

  dd 的主要選項:

  指定數字的地方若以下列字符結尾乘以相應的數字:

  b=512, c=1, k=1024, w=2, xm=number m

  if=file

  輸入文件名,缺省為標准輸入。

  of=file

  輸出文件名,缺省為標准輸出。

  ibs=bytes

  一次讀入 bytes 個字節(即一個塊大小為 bytes 個字節)。

  obs=bytes

  一次寫 bytes 個字節(即一個塊大小為 bytes 個字節)。

  bs=bytes

  同時設置讀寫塊的大小為 bytes ,可代替 ibs 和 obs 。

  cbs=bytes

  一次轉換 bytes 個字節,即轉換緩沖區大小。

  skip=blocks

  從輸入文件開頭跳過 blocks 個塊後再開始復制。

 12 共2頁

Copyright © Linux教程網 All Rights Reserved