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