Showing posts with label img. Show all posts
Showing posts with label img. Show all posts

2015-12-22

用 Ultraiso/WinImage 製作 Bootable 大IMG軟盤鏡像

Reference 01: 用 WinImage 製作 大IMG軟盤鏡像
Reference 02: WinImage_製作_大IMG軟盤鏡像
Reference 03: The  MS-DOS  5.0 Floppy Disk Boot Record (on a 1200 KiB floppy diskette)
Reference 04: MSWIN4.1 (Windows 98) Floppy Disk Boot Record

Notes/Comments:

1. 要成功使用 Ultraiso 製作 bootable floppy image, 必須把有些隱藏檔確實拉到 image file 中. 若直接從 7z 中拉出, 就是會漏!!!

另外, 拉檔案進入 MS-DOS floppy image 時, IO.SYS/MSDOS.SYS 必須先放!!! 因為 MS-DOS floppy boot
sector 程式碼會去確認 IO.SYS 是不是第一個檔案, MSDOS.SYS 是不是第二個檔案.

至於 Windows 98(SE)/XP floppy boot sector 就沒有這樣的限制, 只要 IO.SYS 存在就好!

2. Imdisk 則無法指定 boot sector format ( dos622, w9x, ...). 無法 create new bootable floppy image. 只能修改現成的. 就不考慮了

3. WinImage 使用了那麼複雜的公式, 似乎只是想保證 n=C*H*S 四個參數值都是整數而已 (...待驗證...), 其中 C/H/S 各有其分別最大值的限制

使用 Ultraiso :

File->New->Floppy Image->select Image Size/Format->(fill in files)->save

使用 WinImage :

U盤作為維護系統,越來越受到關注,U盤的啟動也就成了為關鍵,其Syslinux引導的兼容性較高,U盤一般採用它來引導,但它對IMG鏡像啟動採用memdisk內存磁盤來引導,其memdisk普通只支持2.88MB以下的磁盤 對大於2.88MB的鏡像,要求給出其鏡像的C/H/S 值如何確定一個IMG鏡像正確的C/H/S 也就成了製作鏡像的關鍵

一、計算IMG容量:
軟盤的標準規格有 360 KB   720 KB   1440 KB 等 一般採用1440 KB為一個標準單位,也就是說一個標準的軟盤就是1.44MB. 這個標準也肯定兼容了 360 720 的規格,所以在製作軟盤鏡像時,我們就可以採用 360 720 的規格
   360除以1440等於0.25    360/1440=0.25
   720除以1440等於0.5    720/1440=0.5 (相當二個360/1440)
   0.25這個係數就給製作較大軟盤鏡像提供了一個基準參考,介於0~1之間就有 0.25 0.50 0.75 這三個數
   以 1440KB為一個標準單位來說, 就有 1440×0.25/1440×0.5/1440×0.75 從而得到製作鏡像容量的計算方法
   計算方法:
       鏡像容量=1440×n (n 整數)
       鏡像容量=1440×n.25 (n 整數)
       鏡像容量=1440×n.50 (n 整數)
       鏡像容量=1440×n.75 (n 整數)
例:1440×2.25=3240 KB 容量    1440×3.25=4680 KB 容量
    1440×2.50=3600 KB 容量    1440×3.50=5040 KB 容量
    1440×2.75=3960 KB 容量    1440×3.75=5400 KB 容量
    1440×3 =4320 KB 容量    1440×4 =5760 KB 容量 ............

二、確定C/H/S參數:
WinImage 工具製作 IMG軟盤鏡像 一般採用一個標準系統啟動盤為母盤(win98系統啟動盤),在其上進行擴容 (File->New->1.44MB->OK, then Image->Change Format->Select custom image format)

1.用WinImage打開母盤 選擇 更改格式中的自定義鏡像格式:
  其中設置:
文件系統(s): FAT 12/16 (只能選它,軟盤格式)
        每扇區字節數(B): 512 (一般選它)
        Sector per cluster (size in bytes) : 1 (512) ... 取最小值
        扇區總數(n): 鏡像容量×2 (計算方法四種之一)
        每磁道扇區數(T=S): 18(36) (採用1440×n.25 1440×n.75 選18;採用1440×n 1440×n.50 選36)
        磁頭(H): 2(8) (採用1440×n.25 1440×n.75 選2 ;採用1440×n 1440×n.50 選8 )
    註:扇區規範採用是18 36 ....進位; 磁頭採用 2 8 16....進位

2.計算C/H/S值
      C/H/S 三者相互關聯與依懶, 決定鏡像磁盤的標準參數, 其中一個有誤, 它們的關係就不存在了, 造成引導不成功
      S=每磁道扇區數(T)
      H=磁頭(H)
      C= 扇區總數(n)/(每磁道扇區數(T)×磁頭(H)) {C=整數}
      註:C 不等於整數,需重新計算容量或設置 每磁道扇區數(T)和磁頭(H)

      例一:鏡像容量=1440×2.25
            設置:
            扇區總數(n)=1440×2.25×2=6480
            每磁道扇區數(T):18    
            磁頭(H):2
       
            計算C=
            C=6480/(18×2) = 180 (整數)
                      這樣就得到了 C/H/S=180/2/18

       注意:如設置 每磁道扇區數(T)36磁頭(H)8 則C=6480/(36×8)=22.5 帶有小數, 磁道扇區沒有半個的標準,
               
       例二:鏡像容量=1440×2.50
            設置:
            扇區總數(n)=1440×2.50×2=7200
            每磁道扇區數(T):36    
            磁頭(H):8
       
            計算C=
            C=7200/(36×8) = 25 (整數)
                      這樣就得到了 C/H/S=25/8/36

      註:如設置 每磁道扇區數(T)18磁頭(H)2 則C=7200/(18×2)=200 整數也行

接下來, 就可以開始製作 bootable image:
1. Image->Boot sector properities->...
2. 放置 io.sys/kernel.sys... 至 image file.

PS:
1. Options ->Setting->Image->size limit for image loaded in memory (KB) 必須大於 floppy image file size.

3. Image->Change format->Select custom image format->Hidden sectors / Physical drive number must be 0.

4. 另外, 標準 image 容量大小可參考以下表格:


2010-12-11

How-To: Create a DOS Bootable iso file from an .img file


Method 1 : use UltraISO <<< 實作成功 >>>
Bootable->Load boot file –> select image file –> save as *.iso

 
Method 2 : Use mkisofs.exe <<< 尚未實作成功 >>>
Assuming the floppy image file to be turned into a bootable CD is /scratch/linuxinst/m91inst/images/network.img, master CD image /tmp/cd.iso with the following command (Unix-like example):
mkisofs -pad -b network.img -R -o /tmp/cd.iso /scratch/linuxinst/m91inst/images/network.img
Note the following:
Command parameter or part Functionality
-pad : Add padding to the end to make it readable on all CD players
-b network.img : -b tells mkisofs which *floppy image* to use for booting. If the floppy image boots as a floppy, it will boot as a CD. Note that there is no path prepended to network.img. The network.img bootable image is assumed to be relative to the file being imagized, in this case /scratch/linuxinst/m91inst/images/network.img
-R : Include Rock-Ridge extensions for readability everywhere
-o /tmp/cd.iso : This defines the output file, an ISO9660 image ready for burning
/scratch/linuxinst/m91inst/images/network.img : This is the file to put on the CD.

Method 3 : use ImgBurn <<< 實作成功 >>>
Please refer to http://www.pcmech.com/article/how-to-create-a-bootable-cd-with-imgburn/
重點在於 (1) 資料是要放在 ---- 開機區資料區. (2) 開機區的容量限制.
詳細區別參見 : 使用 ultraiso 修改 DOS 開機 ISO 檔

使用 ultraiso 修改 DOS 開機 ISO 檔 ( 開機區 或 資料區 )


文章來源 : 電腦茶包 Blog
有時候我們想自行做一片DOS開機光碟, 但是現在有裝磁碟機的電腦已經是少之又少了. 好在網路上有好心人士幫我們做好了開機光碟ISO檔
省了很多麻煩,相關的ISO可以到官方這邊下載

20090302_1
一般我是習慣使用 Win98SE_bootdisk. 各位可以依各人的喜好,選擇ISO檔.
接下來我們還需要一個可以編輯ISO檔的軟體
在這邊使用UltraISO來編輯。軟體可以到這邊下載

20090302_2

進入UltraISO後,把下載好的ISO檔載入
看到這些檔案不要很高興的去修改,因為這些檔案並不是真的開機區
真正的開機區是嵌在開機光碟裡的,所以我們要把開機區另外取出來

20090302_3

我們把取出來的開機區另存為boot.bif。然後再用UltraISO開啟boot.bif
然後你就可以在這裡面修改東西了 ( ex: config.sys, ... ) <---- 當然不僅止於此
不過要注意的開機區是仍然是有1.44MB 或 2.88MB 的限制(1張磁片的大小)
修改完了先儲存boot.bif,再開啟原本的ISO檔
然後把這個開機區回存回ISO檔才有用,最後儲存該ISO檔

20090302_4

註:載入開機檔案後並不會有畫面上的更新,如果你要編輯開機區請用UltraISO開啟boot.bif
總而言之呢~~要客製化一張可開機的光碟依照下面的4個步驟做就行了

20090302_5

接下來你就可以把光碟燒出來或使用VMWare之類的軟體試試看囉

Reference:
1. How to Create Ms-Dos BootCD (Hiren's Bootable CD)? --->幫助我了解 img 與 iso 的關係. 和 bfi.exe and mkisofs.exe 的用法. 建議確實瞭解 bootcd->Build_ISO.cmd 此檔案的內容.
@echo off
.\Tools\bfi.exe -b=Floppy\boot.dat -f=cd\Floppy.ima Floppy
.\Tools\mkisofs.exe -J -N -l -v -relaxed-filenames -b Floppy.ima -volid "BootCD" -o "BootCD.iso" cd
echo done.
@pause>nul

2. 介紹及比較兩個免費製作iso檔的工具 ---> 免費工具