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 容量大小可參考以下表格:


No comments:

Post a Comment

Note: Only a member of this blog may post a comment.