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
僅拷貝 blocks 個塊,塊大小等于 ibs 指定的字節(jié)數(shù)。
conv=conversion[,conversion...]
用指定的參數(shù)轉換文件。
轉換參數(shù):
ascii 轉換 EBCDIC 為 ASCII。
ebcdic 轉換 ASCII 為 EBCDIC。
ibm 轉換 ASCII 為 alternate EBCDIC.
block 把每一行轉換為長度為 cbs 的記錄,不足部分用空格填充。
unblock
使每一行的長度都為 cbs ,不足部分用空格填充。
lcase 把大寫字符轉換為小寫字符。
ucase 把小寫字符轉換為大寫字符。
swab 交換輸入的每對字節(jié)。 Unlike the
Unix dd, this works when an odd number of
bytes are read. If the input file contains
an odd number of bytes, the last byte is
simply copied (since there is nothing to
swap it with).
noerror
出錯時不停止。
notrunc
不截短輸出文件。
sync 把每個輸入塊填充到ibs個字節(jié),不足部分用空(NUL)字符補齊。
由于 dd 命令允許二進制方式讀寫,所以特別適合在原始物理設備上進行輸入/輸出。例如可以用下面的命令為軟盤建立鏡像文件:
dd if=/dev/fd0 of=disk.img bs=1440k
有趣的是,這個鏡像文件能被 HD-Copy ,Winimage 等工具軟件讀出。再如把第一個硬盤的前 512 個字節(jié)存為一個文件:
dd if=/dev/hda of=disk.mbr bs=512 count=1
mkisofs (make iso file system)
功能說明:建立ISO 9660映像文件。
語 法:mkisofs [-adDfhJlLNrRTvz][-print-size][-quiet][-A<應用程序ID>][-abstract <摘要文件>][-b <開機映像文件>][-biblio ][-c<開機文件名稱>][-C <盤區(qū)編號,磁區(qū)編號>][-copyright <版權信息文件>][-hide<目錄或文件名>][-hide-joliet <文件或目錄名>][-log-file <記錄文件>][-m<目錄或文件名>][-M <開機映像文件>][-o <映像文件>][-p<數(shù)據處理人>][-P <光盤發(fā)行人>][-sysid <系統(tǒng)ID >][-V <光盤ID>][-volset <卷冊集ID>][-volset-size <光盤總數(shù)>][-volset-seqno<卷冊序號>][-x <目錄>][目錄或文件]
補充說明:mkisofs可將指定的目錄與文件做成ISO 9660格式的映像文件,以供刻錄光盤。
參 數(shù):
-a或--all mkisofs通常不處理備份文件。使用此參數(shù)可以把備份文件加到映像文件中。
-A<應用程序ID>或-appid<應用程序ID> 指定光盤的應用程序ID。
-abstract<摘要文件> 指定摘要文件的文件名。
-b<開機映像文件>或-eltorito-boot<開機映像文件> 指定在制作可開機光盤時所需的開機映像文件。
-biblio 指定ISBN文件的文件名,ISBN文件位于光盤根目錄下,記錄光盤的ISBN。
-c<開機文件名稱> 制作可開機光盤時,mkisofs會將開機映像文件中的全-eltorito-catalog<開機文件名稱>全部內容作成一個文件。
-C<盤區(qū)編號,盤區(qū)編號> 將許多節(jié)區(qū)合成一個映像文件時,必須使用此參數(shù)。
-copyright<版權信息文件> 指定版權信息文件的文件名。
-d或-omit-period 省略文件后的句號。
-D或-disable-deep-relocation ISO 9660最多只能處理8層的目錄,超過8層的部分,RRIP會自動將它們設置成ISO 9660兼容的格式。使用-D參數(shù)可關閉此功能。
-f或-follow-links 忽略符號連接。
-h 顯示幫助。
-hide<目錄或文件名> 使指定的目錄或文件在ISO 9660或Rock RidgeExtensions的系統(tǒng)中隱藏。
-hide-joliet<目錄或文件名> 使指定的目錄或文件在Joliet系統(tǒng)中隱藏。
-J或-joliet 使用Joliet格式的目錄與文件名稱。
-l或-full-iso9660-filenames 使用ISO 9660 32字符長度的文件名。
-L或-allow-leading-dots 允許文件名的第一個字符為句號。
-log-file<記錄文件> 在執(zhí)行過程中若有錯誤信息,預設會顯示在屏幕上。
-m<目錄或文件名>或-exclude<目錄或文件名> 指定的目錄或文件名將不會房入映像文件中。
-M<映像文件>或-prev-session<映像文件> 與指定的映像文件合并。
-N或-omit-version-number 省略ISO 9660文件中的版本信息。
-o<映像文件>或-output<映像文件> 指定映像文件的名稱。
-p<數(shù)據處理人>或-preparer<數(shù)據處理人> 記錄光盤的數(shù)據處理人。
-print-size 顯示預估的文件系統(tǒng)大小。
-quiet 執(zhí)行時不顯示任何信息。
-r或-rational-rock 使用Rock Ridge Extensions,并開放全部文件的讀取權限。
-R或-rock 使用Rock Ridge Extensions。
-sysid<系統(tǒng)ID> 指定光盤的系統(tǒng)ID。
-T或-translation-table 建立文件名的轉換表,適用于不支持Rock Ridge Extensions的系統(tǒng)上。
-v或-verbose 執(zhí)行時顯示詳細的信息。
-V<光盤ID
以上就是如何在linux 下制作可啟動 img/iso 文件的方法,希望能幫到大家,謝謝閱讀,請繼續(xù)關注腳本之家。
相關文章
Fedora Linux 42 穩(wěn)定版發(fā)布: 帶來大量新功能和軟件更新
Fedora 42昨日發(fā)布,這是 Red Hat 贊助開發(fā)的杰出前沿 Linux 發(fā)行版的最新版,包含大量新功能和軟件更新,使其成為 2025 年上半年發(fā)布的一款出色的 Linux 操作系統(tǒng)之一,內2025-04-16如何在Linux查看硬盤信息? 查看Linux硬盤大小類型和硬件信息的5種方法
使用Linux系統(tǒng)的過程中,查看和了解硬盤信息是非常重要的工作,尤其是對于系統(tǒng)管理員而言,那么在Linux系統(tǒng)中如何查看硬盤信息?以下是具體內容介紹2025-03-12如何在 Linux 中查看 CPU 詳細信息? 3招輕松查看CPU型號、核心數(shù)和溫度
在日常運維工作中,獲取 CPU 信息是系統(tǒng)運維管理員常見的工作內容,無論是為了性能調優(yōu)、硬件升級還是僅僅滿足好奇心2025-03-11什么是 Arch Linux? 獨樹一幟的Arch Linux發(fā)行版分析
Arch Linux是為簡化,優(yōu)化,現(xiàn)代化,實用主義,用戶中心和多功能性而創(chuàng)建Linux發(fā)行版,究竟是什么讓 Arch 與眾不同?下面我們就來簡要解讀2025-02-19如何在Linux環(huán)境下制作 Win11裝機U盤?
一直用的linux辦公,想要將筆記本電腦從 Linux 系統(tǒng)切換回 Windows 11,我們可以制作一個win11裝機u盤,詳細如下2025-02-17Rsnapshot怎么用? 基于Rsync的強大Linux備份工具使用指南
Rsnapshot 不僅可以備份本地文件,還能通過 SSH 備份遠程文件,接下來詳細介紹如何安裝、配置和使用 Rsnapshot,包括創(chuàng)建每小時、每天、每周和每月的本地備份,以及如何進2025-02-06Linux Kernel 6.13發(fā)布:附更新內容及新特性解讀
Linux 內核 6.13 正式發(fā)布,新版本引入了惰性搶占支持,簡化內核搶占邏輯,通過減少與調度器相關的調用次數(shù),讓內核在運行時表現(xiàn)更優(yōu),從而提高效率2025-01-23五大特性引領創(chuàng)新! 深度操作系統(tǒng) deepin 25 Preview預覽版發(fā)布
今日,深度操作系統(tǒng)正式推出deepin 25 Preview版本,該版本集成了五大核心特性:磐石系統(tǒng)、全新DDE、Treeland窗口合成器、AI For OS以及Distrobox子系統(tǒng)2025-01-18Linux Mint Xia 22.1重磅發(fā)布: 重要更新一覽
Beta 版 Linux Mint“Xia” 22.1 發(fā)布,新版本基于 Ubuntu 24.04,內核版本為 Linux 6.8,這次更新帶來了諸多優(yōu)化和改進,進一步鞏固了 Mint 在 Linux 桌面操作系統(tǒng)領域的2025-01-16LinuxMint怎么安裝? Linux Mint22下載安裝圖文教程
Linux Mint22發(fā)布以后,有很多新功能,很多朋友想要下載并安裝,該怎么操作呢?下面我們就來看看詳細安裝指南2025-01-16