-
2 個附加檔案
【教學】CD Shell
官網:
[url]http://www.cdshell.org/[/url]
下載:
[url]http://www.cdshell.org/download.html[/url]
CD Shell 是一個光碟引導器,可以提供你建立多重選啟動磁碟....
這邊用得是 CD Shell 2.0.11 release,當然我並不建議各位下載 Beta 版
因為 Beta 版可能在某些機器上有不相容問題...
另外,CD Shell 並沒有支援中文選單,不過這並不影響其功能...
雖然標題寫的是教學,但這是粗略講解一下而已...
想要更深入了解 CD Shell 的話,請去官網看文件...
CD Shell 檔案結構一覽:
/ (根目錄)
|
+ BOOT
| |
| + FONTS (字型目錄,非必要)
| |
| + GRAPHICS (圖形目錄,非必要)
| | |
| | > SPLASH.BMP (低解析的 splash 圖形檔,非必要)
| | |
| | > SPLASH.CSI (高解析的 splash 圖形檔,非必要)
| |
| + MODULES (模組目錄,必要)
| | |
| | > *.CSM (所有模組檔)
| | |
| | > MEMDISK (memdisk 命令)
| |
| > CDSH.BIN (CD Shell 的程式檔,必要)
| |
| > CDSHELL.INI (啟動腳本,非必要)
| |
| > LOADER.BIN (引導器程式檔,必要)
|
+ ISOLINUX (ISOLINUX 目錄,非必要)
| |
| > *.* (Linux kernels, isolinux.cfg, or other isolinux-related files)
| |
| > MEMDISK (alternative location for the memdisk program)
|
+ tools (CSI轉換工具目錄,非必要)
|
+ licenses (一些 licenses 檔,非必要)
|
> *.* (其他你想要放置的東西)
關於 Splash Screens :
CD Shell 啟動時,可以展示一幅 5 秒鐘的開機圖形
此圖形解析度可以是 320x240x8 或 640x480x24
低解析度的圖檔為 BMP 檔,必須是 320x240x8(256色),使用 Run Length Encoding (RLE)編碼
高解析度的圖檔為 CSI 檔,可以為 640x480x24(16.7百萬色),可用 CD Shell 提供的 /tools/convert.exe 來轉換
當 CD Shell 啟動時,會先檢視 /boot/graphics/splash.csi 檔,假如檔案存在將會顯示該圖檔
否則的話,將會顯示 /boot/graphics/splash.bmp 檔...
convert.exe 圖形轉換工具的說明:
D:\CDSHELL\tools>convert.exe /?
CD Shell Image conversion utility, Version 1.1
Copyright (C) 2002-2003 Michael K Ter Louw
Visit [url]http://www.cdshell.org[/url] for terms of use.
Error: Conversion mode not specified.
Syntax: convert <-bmp2csi | -csi2bmp> <-o outputfile> <inputfile>
如上所顯示的,此工具只在 BMP <-> CSI 中互轉
例:convert -bmp2csi -o splash.csi test.bmp
例:convert -csi2bmp -o splash.bmp test_file.csi
其他模組(Modules):
Bootable CD Wizard Module 1.5 by reanimatolog
[url]http://www.cdshell.org/files/submissions/reanimatolog/bcdw.html[/url]
這個模組相當好用,使用 Bootable CD Wizard 程式來啟動映像檔
可以讓你執行一些非常規大小的映像檔,例如下面的連結:
[url]http://bootcd.narod.ru/images_e.htm[/url]
關於 cdshell.ini:
CD Shell 最初會去搜尋 /boot/cdshell.ini 腳本檔,假如這檔存在,將會自動執行其中的命令...
至於其語法,請參考原文:
[url]http://www.cdshell.org/scripting.html[/url]
[url]http://www.cdshell.org/cmdref.html[/url]
[url]http://www.cdshell.org/functref.html[/url]
[url]http://www.cdshell.org/varref.html[/url]
CD Shell 本身其實就有一些選單樣本檔,都放在 /boot/samples/doctorxp 裡面
其中我選了一個樣本檔出來,稍微重新修正一下,因為有的樣本檔不知是什麼原因,好像缺了些語法
可能是作者誤刪了某些東西,或是改漏了吧,執行時畫面並不美觀,所以.........
我上傳的壓縮檔中有三個檔,分別是 cdshell.ini、menu1.scr、menutemp.cds
其先後引入的順序是 cdshell.ini -> menu1.scr -> menutemp.cds
一般的設定全在 menu1.scr 上,其中要注意的是「設定選單相對應的指令動作」區的指令
Set Action?_Cmd 搭配 Set Action?_Par (Cmd 要搭配 Par 路徑,其中 ? 為 1∼6)
Set Action?_Macro 搭配 Set Action?_Silent (Macro 標籤要搭配 Silent,其中 ? 為 1∼6)
另外,menutemp.cds 樣本檔內定已有 cmdline,ShowWinKey,HDDBoot 三個標籤
cmdline:為 CD Shell 的 Console
ShowWinKey:Windows Key 的提示窗,只是提示而已,不用想太多....
HDDBoot:為硬碟啟動 0x80
例如,如下:使用命令 bcdw 啟動根目錄下的 MSDOS710.IMG 檔
Set Action2_Cmd="bcdw"
Set Action2_Par="/MSDOS710.IMG"
例如,如下:使用命令 goto 到 cmdline 標籤
Set Action1_Cmd="goto"
Set Action1_Par="cmdline"
例如,如下:到 HDDBoot 標籤
Set Action5_Macro="HDDBoot"
Set Action5_Silent=1
最後處理完畢之後,可以使用 cdimage.exe 來生成 iso 檔,如下:
CDIMAGE.EXE -lWXPFPP_EN -h -n -o -m -bD:\CDSHELL\boot\loader.bin D:\CDSHELL D:\TEST_TEST.ISO
以下為展示圖:
[IMG]http://myweb.hinet.net/home1/lamina/VirtualPC/VirtualPC11.jpg[/IMG]
[IMG]http://myweb.hinet.net/home1/lamina/VirtualPC/VirtualPC12.gif[/IMG]
-
多謝兄的教學,晚一點來玩玩看 ; Diskem 1.x 畢竟陽春了點...
-
不錯的工具!!有空再來試試看!Diskem也是類似的軟體?
我只有玩過EasyBoot而已!
-
[QUOTE][i]最初由 kanako0605 發表[/i]
[B]不錯的工具!!有空再來試試看!Diskem也是類似的軟體?
我只有玩過EasyBoot而已! [/B][/QUOTE]
EasyBoot我好像還沒看過有人能把選單做的很漂亮的...
Diskem 1.X只有文字模式,很陽春,但文字位置很好調整
指令也很簡單
-
[QUOTE][b]我上傳的壓縮檔中有三個檔,分別是 cdshell.ini、menu1.scr、menutemp.cds
其先後引入的順序是 cdshell.ini -> menu1.scr -> menutemp.cds[/b][/QUOTE]
怕有人看不懂,所以再補充一下
cdshell.ini 你可以把它當成 autoexec.bat
至於 menu1.scr 和 menutemp.cds 都是和 cdshell.ini 一樣,由 script 寫成,其檔名和副檔名是可以任意命名的...
先後順序是因為 cdshell.ini 中有類似 "script menu1.scr" 的執行語法
而 menu1.scr 中的最底下也有 "script menutemp.cds" 的執行語法
所以才會是 cdshell.ini -> menu1.scr -> menutemp.cds
另外,如果覺得選單不夠用的,可以自己複製 menu1.scr 為 menu2.scr
然後在 menu1.scr 的選單中使用 "script menu2.scr" 的語法來引用 menu2.scr 選單
如我在 menu1.scr 中「設定選單相對應的指令動作」區的兩行就是這樣寫的
Set Action6_Cmd="script"
Set Action6_Par="/boot/menu2.scr"
-
大陸那邊的人好像比較喜歡使用 EasyBoot ,也有一些使用 Diskem 2.x
不過本人不會用 EasyBoot (汗),沒認真去看過
Diskem 1.x 和 CD Shell 其實都很簡單,通常只要下幾個指令就可以了
只是本例中的 CD Shell 樣本檔,好像比較複雜一點,其中用了很多變數....
所以我看了其寫法之後,發覺它是朝模組化的方式去寫的....
CD Shell 也可以以圖檔方式來呈現,這樣反而更多樣化...
不過除了上面提到的 bcdw(Bootable CD Wizard Module) 模組之外,還必須再放一個 Showgif 模組進去 MODULES 目錄
[url]http://www.cdshell.org/files/submissions/reanimatolog/showgif.html[/url]
這次之前作的,廢圖再利用,以下全都是圖檔拼成的...
[IMG]http://www.pczone.com.tw/attachment.php?s=&postid=744990[/IMG]
-
[url]http://img21.imageshack.us/img21/5096/PastedImage.jpg[/url]
[url]http://img21.imageshack.us/img21/4629/PastedImage2.jpg[/url]
這是之前隨便玩的!!看看就好!EasyBoot是比較簡單用!
CD Shell看起來真不賴!選單還不錯看!!
-
大致做好一個範本了,menutemp.cds內容沒動、menu?.scr敘述沒改
就修到快死了 ; 改用EasyBoot應該會輕鬆的多;)
[color=red]\\\"\\c7efoxbrian\\c7f\\\"[/color] <-- Set Banner_Text的這一行看不懂,先把名字放在裡頭撐著
[img]http://fox71816.myweb.hinet.net/cd1.JPG[/img]
Info還沒修改,所以內容都怪怪的
[img]http://fox71816.myweb.hinet.net/cd2.JPG[/img]
中間三行不會消掉(汗) 果然還是得先研究語法
[img]http://fox71816.myweb.hinet.net/cd3.JPG[/img]
[url=http://fox71816.myweb.hinet.net/boot.rar]範本下載[/url]
有興趣的話可以看看
-
[QUOTE][i]最初由 foxbrian 發表[/i]
[B]大致做好一個範本了,menutemp.cds內容沒動、menu?.scr敘述沒改
就修到快死了 ; 改用EasyBoot應該會輕鬆的多;)
[color=red]\\\"\\c7efoxbrian\\c7f\\\"[/color] <-- Set Banner_Text的這一行看不懂,先把名字放在裡頭撐著
[/B][/QUOTE]
經你一提醒,這一行目前我也看不懂(還沒想過要去動這一行)...
只知道是換顏色,但不知道為什麼有那麼多的 \ 符號
所以再研究看看...
menutemp.cds 看起來就像是一個選單樣版模組,一般應該不需要去動,當然除非你有大動作... :D
另外,本來都沒有注意到熱鍵是否需要,可是一想到我想作兩頁選單,就需要到這個功能
再瞭解一下 menutemp.cds 的內容,發現裡面也有這個功能,只是好像被 disable 了
menutemp.cds 內的 respondtokeys: 標籤如下...
不過本人只需要上一頁、下一頁,所加了紅色那兩行..
#
respondtokeys:
#
#if ($lastKey == key[$Option1_HotKey]); then goto DoAction1
#if ($lastKey == key[$Option2_HotKey]); then goto DoAction2
#if ($lastKey == key[$Option3_HotKey]); then goto DoAction3
#if ($lastKey == key[$Option4_HotKey]); then goto DoAction4
#if ($lastKey == key[$Option5_HotKey]); then goto DoAction5
#if ($lastKey == key[$Option6_HotKey]); then goto DoAction6
if ($lastKey == key[f10]); then goto cmdline
if ($lastKey == key[esc]); then goto HDDBoot
[color=#ff001b]if ($lastKey == key[pgup]); then script /boot/menu1.scr
if ($lastKey == key[pgdn]); then script /boot/menu2.scr[/color]
return
其他相關 key 的設定,請參考官方的 key 指令對照
[url]http://www.cdshell.org/functref.html#key[/url]
最後,你會發現 Option?_HotKey (? 為 1∼6) 是被 # 當成註解
這表示你可以把 Option?_HotKey (? 為 1∼6) 複製到 menu1.scr 去成為
set Option1_HotKey="1"
set Option2_HotKey="2"
set Option3_HotKey="3"
set Option4_HotKey="4"
set Option5_HotKey="5"
set Option6_HotKey="6"
然後記得把 respondtokeys: 內的 # 拿掉,就可以替選單設熱鍵了
-
#
respondtokeys:
#
#if ($lastKey == key[$Option1_HotKey]); then goto DoAction1
#if ($lastKey == key[$Option2_HotKey]); then goto DoAction2
#if ($lastKey == key[$Option3_HotKey]); then goto DoAction3
#if ($lastKey == key[$Option4_HotKey]); then goto DoAction4
#if ($lastKey == key[$Option5_HotKey]); then goto DoAction5
#if ($lastKey == key[$Option6_HotKey]); then goto DoAction6
if ($lastKey == key[f10]); then goto cmdline
if ($lastKey == key[esc]); then goto HDDBoot
修改成:
#
respondtokeys:
#
if ($lastKey == key[$Option1_HotKey]); then goto DoAction1
if ($lastKey == key[$Option2_HotKey]); then goto DoAction2
if ($lastKey == key[$Option3_HotKey]); then goto DoAction3
if ($lastKey == key[$Option4_HotKey]); then goto DoAction4
if ($lastKey == key[$Option5_HotKey]); then goto DoAction5
if ($lastKey == key[$Option6_HotKey]); then goto DoAction6
if ($lastKey == key[f10]); then goto cmdline
if ($lastKey == key[esc]); then goto HDDBoot
會出現下面的錯誤:
[img]http://fox71816.myweb.hinet.net/cd4.JPG[/img]
先把Info改好再看要怎麼解決@@"
-
上面的錯誤訊息告訴你:在 menutemp.cds 的 413 行有錯
好像是和引號有關....
-
-
[url]http://bootcd.narod.ru/[/url]
[color=red]Предупреждение!
Текущая версия BCDW не поддерживает загрузку SETUPLDR.BIN от WinXP SP2.
[/color]
這是什麼意思>< 紅字標著好像很重要似的... 不支援啟動 WinXP SP2 的 SETUPLDR.BIN 嗎?
發現英文版@@" [url]http://bootcd.narod.ru/index_e.htm[/url]
[color=red]Warning!
Loading of SETUPLDR.BIN from WinXP SP2 is not supported by current version of BCDW.[/color]
這倒沒差..
不過官網的 showgif csm 不能下載....
[url]http://www.cdshell.org/files/contributions/reanimatolog/showgif.html[/url]
[url]http://www.cdshell.org/files/contributions/reanimatolog/bcdw150d_cs_en.zip[/url]
.... 找到了, 連結是150z ... 搞啥@@"
-
我把 bcdw.csm 放進 modules 目錄裡﹐改了本頁範本裡的
Set Action2_Cmd="bcdw"
Set Action2_Par="/tool/ghost.ima"
可是當我執行這個項目的時候﹐出現了如附圖的情況
這是因為 bcdw.csm 這個模組沒有被載入嗎? 我該怎麼做才能正確使用此指令呢?
[IMG]http://img188.exs.cx/img188/113/error7mf.gif[/IMG]
-
2 個附加檔案
[QUOTE=dkjfso]我把 bcdw.csm 放進 modules 目錄裡﹐改了本頁範本裡的
Set Action2_Cmd="bcdw"
Set Action2_Par="/tool/ghost.ima"
可是當我執行這個項目的時候﹐出現了如附圖的情況
這是因為 bcdw.csm 這個模組沒有被載入嗎? 我該怎麼做才能正確使用此指令呢?
[/QUOTE]
我的 bcdw for cdshell 版本是 1.50Z (你找到的居然比我舊...1.50d ??) :confused:
可是這應該沒關係,因為我也試過你下載的 bcdw 版本,沒問題...
不過看你的圖,unknown command enteren....不知是參數問題,還真是沒找到 bcdw
假設 d:\test 是你要作成影像檔的目錄....
那麼 d:\test\[COLOR=Red]boot[/COLOR]\ 就是放 CDSHELL 檔案的地方
bcdw 是在 d:\test\[COLOR=Red]boot[/COLOR]\modules\bcdw.csm
而使用 CDIMAGE.EXE 建立影像檔的命令將是...
CDIMAGE.EXE -lWXPFPP_EN -h -n -o -m -b[COLOR=Red]D:\test\boot[/COLOR]\loader.bin [COLOR=Red]D:\test[/COLOR] D:\TEST_TEST.ISO
如果還是不行,你下載這檔 fd011520.ima 檔看看(一般的 dos 開機檔)...
[url]http://myweb.hinet.net/home1/lamina/fd011520.zip[/url]
解壓後 fd011520.ima 應該放在 d:\test 底下(根據上面假設位置)...
menu1.scr 內設定...
Set Action2_Cmd="bcdw"
Set Action2_Par="/fd011520.ima"
然後執行看看,看可不可以跑到 dos 下,如果可以的話....那就是你的影像檔有問題....
-
沒錯, cdshell 官網的1.50z 不能下載, 它的目錄下卻有放1.50d, 不知道為啥.
這是我做出來的 iso 檔, 請幫我看看是不是有什麼疏忽@@"
[url]http://rapidshare.de/files-en/452988/test.rar.html[/url]
因為我又做了一次 CDImage 跟 Ultraiso 出來的檔案都是一樣, 還有在 cdshell 的 command line輸入 list commands 裡面真的找不到 bcdw 這個命令, 但其它內建的都有, bcdw.csm 也放在 modules 的目錄下了. 整個開機畫面沒問題, 只是動到 bcdw 的時候就會跑出這個屏.
PS. 我是在 Virtual PC 試的, VMWare 之前也試過我記得同樣發生這個問題, 不知道是我哪邊弄錯了.
-
2 個附加檔案
找到問題了....
原來是你的 CD Shell 版本 2.1.4 比較新,無法使用 BCDW 1.50Z 之前的版本... :|||:
我去官網重新找了一下最新可用的版本 BCDW 2.0a1 傳上 pczone 來(單一檔案 bcdw.csm),試過可以使用...
不過新版本的 BCDW 的使用方式有點變動...
在 CD Shell Console 的命令模式下,你可以輸入 help bcdw 查看新命令使用方式...
[img]http://myweb.hinet.net/home1/lamina/bcdw20a1.PNG[/img]
舉三個常用的....
bcdw boot 影像檔名稱 (說明:從影像檔開機)
bcdw reboot (說明:重新開機)
bcdw poweroff (說明:關閉電源)
如輸入:bcdw boot /fd011520.ima
而你的問題,只要這樣就可以了...
Set Action3_Cmd="bcdw [COLOR=Red]boot[/COLOR]"
Set Action3_Par="/fd011520.ima"
另外這是 BCDW 2.0a1 完整版(內含一些有的沒的和版權宣告...)
[url]http://myweb.hinet.net/home1/lamina/bcdw-2.0a1.zip[/url]
這對使用 CD Shell 的人來說,基本上不需要,除非你有興趣看作者寫的展示方式....
以下為 BCDW Ver2.0a1 單一檔案 bcdw.csm 檔
-
原來如此, 已經可以正常運作了, 感謝^^
不過官網的 2.0a1 放在哪邊呢? 我找不到@@
-
[url]http://www.911cd.net/forums/index.php?showtopic=8641[/url]
我是從論壇中找出來的....裡面有個檔案下載檔
Differences with original BCDW v1.50Z:
- added support for setupldr.bin from WinXP SP2 (支援 WinXP SP2 的 setupldr.bin)
- HEX-editing of setupldr.bin (e.g. 'I386' -> 'WNPE') is not required
- added support for some *.ISO (Acronis products, memtest86, may be some other)(支援 Acronis、memtest86 和其他的 .ISO 開機)
- PEBuilder-aware *.INI (you can create plugins for BCDW for PEBuilder)
- hiding BCDW files
- password protected options
-
-
不知道有沒有最簡便方法,可以直接 boot from iso
比如這張光碟同時有
MS DOS
Hiren's BootCD
Konppix Live CD
Fedora Rescure CD
BSD Rescure CD
BartPE
WindowsXP Setup
MDK Setup
以上都是單獨可啟動的 iso 檔
啟動時將所選擇的 iso 檔掛成虛擬光碟(像isoemu的動作)
這樣在製做及使用都可以相當方便
還在啃文中...
[url]http://www.cfan.com.cn/pages/20050107/412.htm[/url]
[url]http://www.cfan.com.cn/pages/20050526/1775.htm[/url]
[url]http://bbs.wuyou.com/cgi-bin/topic.cgi?forum=33&topic=778&show=0[/url]
[url]http://www.linuxgazette.com/issue85/sipos.html[/url]
找到 Magic ISO Maker 可以簡單就做側上述的內容
不過有的 iso 會失敗,繼續測試...
Magic ISO Maker
[url]http://www.magiciso.com/tutorials/miso-createmultibootcd.htm[/url]
-
回覆: 【教學】CD Shell
:|||: 這篇雖然是很久之前的文章...
不過有用到還是會被挖起來...
我想問的是, 您所提供的 menutemp.cds 檔案,
要用什麼程式編輯才可以呢?
因為我用 notepad & notepad++ 只要有編輯過存檔,
然後做成光碟後就會顯示錯誤!
我只有改 More info => More Information 也是錯誤! ~"~
然後把原本沒改的檔案覆蓋過去再做一次開機光碟就沒問題
因為我覺得6個選項太多, 想要刪掉一兩個...
不知道還有什麼需要注意的呢..感謝 ~
-
回覆: 【教學】CD Shell
[color=red]\\\"\\c7efoxbrian\\c7f\\\"[/color]
我猜想
\\ 是控制前導, 類似BBS的 ^[
\" 是 " 符號
合起來就是
\\\" 顯示 "
\\c7e 是 color 7 e
\\c7f 是 color 7 f
所以 不想用顏色直接整段換成你的名字就好
-
回覆: 【教學】CD Shell
[QUOTE=mdigital;953629]:|||: 這篇雖然是很久之前的文章...
不過有用到還是會被挖起來...
我想問的是, 您所提供的 menutemp.cds 檔案,
要用什麼程式編輯才可以呢?
因為我用 notepad & notepad++ 只要有編輯過存檔,
然後做成光碟後就會顯示錯誤!
我只有改 More info => More Information 也是錯誤! ~"~
然後把原本沒改的檔案覆蓋過去再做一次開機光碟就沒問題
因為我覺得6個選項太多, 想要刪掉一兩個...
不知道還有什麼需要注意的呢..感謝 ~[/QUOTE]
我的問題跟你相同, 但是我想問題不在 menutemp.cds
而是 bcdw.csm 要換成 2.01a 版本的
然後 menu1 中的呼叫要寫成
Set ActionX_Cmd="bcdw boot"