Linux怎么制作可啟動img/iso鏡像文件
img/iso文件是鏡像文件,在Linux系統(tǒng)操作中有時需要制作鏡像文件,那么制作鏡像文件的方法有哪些呢?下面學習啦小編就給大家介紹下如何下Linux下制作可啟動img/iso文件。
制作鏡像文件有三種方法,cp, cat, dd 和其它專用工具。cp ,cat 和 dd都可以從設備復制文件來創(chuàng)建鏡像。而 dd 命令更為強大,可以通過指定塊大小,塊多少來直接創(chuàng)建鏡像。
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 命令傳遞系統(tǒng)。推薦使用 FreeDOS,屬自由軟件。也可用 dd 命令 來傳遞引導引導信息,并復制啟動啟動時所需文件來做啟動盤。以 FreeDOS 為例,傳遞啟動信息用以下命令,其中下載的啟動盤為 balder10.img 文件
dd if=balder10.img of=fdimage.img bs=512 count=1 conv=notrunc
多系統(tǒng)用 grub4dos,
1),用 grub.exe 引導多系統(tǒng)
2),安裝 grub 到MBR,用 grldr 來引導多系統(tǒng)。當然也可用同上面一樣的辦法用 dd 直接寫入引導信息。
bootlace.com --floppy --chs 0x00
注:才發(fā)現(xiàn)用 dd 命令只能從邏輯扇區(qū)開始 copy,先前我想可否用 dd 來將 grldr.mbr 寫入 u 盤,我用自己的 U 盤試了,結果不能打開了。因為我的 U 盤為 fat16 格式,邏輯扇區(qū)開始是OBR,接著是FAT表,結果把 FAT1 表給蓋了,那時還沒有想到還有 FAT2 呢,就格了,現(xiàn)在想起來郁悶啊,好多東西都沒有了。
為什么軟盤可以呢,因為它就沒有前面的63個扇區(qū),直接從邏輯0扇區(qū)開始的。
ISO 文件:
因為文件系統(tǒng)的關系,就不能用 dd 來直接做 ISO 鏡像了(當然,它還是可以從設備制作 ISO 鏡像)。 ISO 文件的制作有專用工具,
1,制作
mkisofs -r -o cdimage.iso /home/XXX/cddir
2,格式化
用mkiso制作的 iso 已有文件系統(tǒng) iso9660
3,可啟動
無論是引導單系統(tǒng)還是引導多系統(tǒng)都還是用 mkisofs 這個工具,只是加載到光盤的 boot loader 不一樣而已。當然也可以將 DOS 的引導器 (也就是它的引導扇區(qū)) 或 windows 的引導器 ( XP 系統(tǒng)的是 ntldr ) 放入讓光盤引導。下面只討論 grub4dos 的使用
1),用 grub.exe 引導多系統(tǒng)
用 DOS 加載 grub.exe 引導多系統(tǒng)
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 參數(shù)說明
dd (convert and copy files)
dd 是 Linux/UNIX 下的一個非常有用的命令,作用是用指定大小的塊拷貝一個文件,并在拷貝的同時進行指定的轉換。
dd 的主要選項:
指定數(shù)字的地方若以下列字符結尾乘以相應的數(shù)字:
b=512, c=1, k=1024, w=2, xm=number m
if=file
輸入文件名,缺省為標準輸入。
of=file
輸出文件名,缺省為標準輸出。
ibs=bytes
一次讀入 bytes 個字節(jié)(即一個塊大小為 bytes 個字節(jié))。
obs=bytes
一次寫 bytes 個字節(jié)(即一個塊大小為 bytes 個字節(jié))。
bs=bytes
同時設置讀寫塊的大小為 bytes ,可代替 ibs 和 obs 。
cbs=bytes
一次轉換 bytes 個字節(jié),即轉換緩沖區(qū)大小。
skip=blocks
從輸入文件開頭跳過 blocks 個塊后再開始復制。
seek=blocks
從輸出文件開頭跳過 blocks 個塊后再開始復制。(通常只有當輸出文件是磁盤或磁帶時才有效)
count=blocks