<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;DkUGQXk_fip7ImA9WhRaE0o.&quot;"><id>tag:blogger.com,1999:blog-796810736348108756</id><updated>2012-02-16T14:37:00.746+08:00</updated><category term="Flex3" /><category term="障礙排除" /><category term="Win32 API" /><category term="MySQL" /><category term="SSH" /><category term="Gadget" /><category term="Samba" /><category term="C/C++" /><category term="專案管理" /><category term="職場生涯" /><category term="VB6" /><category term="Linux Distribution" /><category term="Windows" /><category term="Domain knowhow" /><category term="MTS" /><category term="PHP" /><category term="Access" /><category term="水族寵物" /><category term="短片欣賞" /><category term="Development Tips" /><category term="電腦硬體" /><category term="Apache" /><category term="VC++2008" /><category term="Red5" /><category term="AD" /><category term="Boot Loader" /><category term="ADO" /><title>外接式大腦</title><subtitle type="html">大腦，是用來思考的，而不是用來記一些雜七雜八的小事的....</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://webhd01.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://webhd01.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/796810736348108756/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Kalvin</name><uri>http://www.blogger.com/profile/01840266551993498978</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/_ec1p8JsJSAg/TIrsPWCAS6I/AAAAAAAACG8/wWMJDGq7uFw/s1600/aboutme.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>69</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/blogspot/QWfOQU" /><feedburner:info uri="blogspot/qwfoqu" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;DkUHRnczcSp7ImA9Wx9RGEg.&quot;"><id>tag:blogger.com,1999:blog-796810736348108756.post-4584272951227720150</id><published>2010-12-20T22:06:00.002+08:00</published><updated>2010-12-20T22:10:37.989+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-20T22:10:37.989+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="C/C++" /><title>C 語言用 Winsock 擷取網頁內容</title><content type="html">朋友的兒子今年大一，和我一樣唸的是資管，所以 "指導功課" 這回事，對於做人兄弟的我自然是義不容辭囉，最近他來找我，就是給了我一道題目。唉，現在的年輕人，資源比我們以前唸書時多太多了，怎麼都不肯自己動動手 google 一下咧....算了，既然被人家叫一聲叔叔 ( 唉~唉~唉~ )，只好勉為其難幫一下了，說實話，C 這回事，我大概早就還給老師了，打從出社會後，用的就是 VB，還好當年上課時的教科書都還在，又有 google 大神的幫助，做個作業還不算什麼，廢話不多說了，底下就是程式碼，寫的雖然不是很漂亮，但的確是可以 run 的，有需要的人就拿去吧....&lt;br /&gt;
&lt;pre class="brush: cpp;"&gt;#include &amp;lt;stdio.h&amp;gt;
#include &amp;lt;winsock.h&amp;gt;
#pragma comment(lib, "wsock32.lib")
//sockaddr_in 是 for TCP/IP 的 winsock struct
struct sockaddr_in serverAddress;
//hostent 是表示 IP位址資訊的 winsock struct
struct hostent *hptr;
//WSADATA 是存放 sockets 資訊的 winsock struct
WSADATA wsadata;
//SOCKET 描述子
SOCKET s;
#define bufferSize 1024
char *HostName;
char *FilePath;
FILE *pUFile;

//錯誤處理
void errorExit(char *errorMessage)
{
 printf("錯誤訊息:%s,%d\n",errorMessage,WSAGetLastError() );
 WSACleanup();
}

// 建立 Socket
void createSocket() 
{
 if ( (s=socket(AF_INET, SOCK_STREAM, IPPROTO_TCP))&amp;lt;0) 
 {
  errorExit("Create Socket error");
 }
}

//Connect
void connectTCP(char *HostName,char *FilePath ) 
{
 //建立 hostent 結構
 hptr=gethostbyname(HostName);

 //建立 sockaddr_in 結構，變數為 serverAddress
 memset(&amp;amp;serverAddress, 0, sizeof(serverAddress));
 serverAddress.sin_family=AF_INET;
 serverAddress.sin_port=htons(80);
 
 //gethostbyname
 memcpy(&amp;amp;serverAddress.sin_addr.s_addr,hptr-&amp;gt;h_addr,hptr-&amp;gt;h_length);

 //建立 connect
 printf("HostName:%s\n",HostName);
 printf("FilePath:%s\n",FilePath);
 printf("connect...\n");
 if (connect(s, (struct sockaddr *) &amp;amp;serverAddress, sizeof(serverAddress)) &amp;lt; 0) 
 {
  errorExit("connect error");
 }
}

//Send Data
void sendData() 
{
 int sendResult;
 char *requestMessage;
 char requestBuffer[ bufferSize];
 requestMessage="GET %s HTTP/1.1\r\n" \
          "Host:%s\r\n" \
          "User-Agent:Mozilla/5.0 (Linux; X11)\r\n" \
          "Accept: */*\r\n" \
          "Accept-Language: zh-TW\r\n" \
          "Accept-Encoding: gzip, deflate\r\n" \
          "Connection:  Keep-Alive\r\n" \
          "\r\n";

 sprintf(requestBuffer,requestMessage,FilePath,HostName);
 
 //這裡要使用 sizeof 處理 buffer 長度，不要用 strlen
 sendResult=send(s,requestBuffer,sizeof(requestBuffer),0);
 
 if (sendResult==SOCKET_ERROR)
 {
  errorExit("Send Data error");
 }
 printf("送出位元組:%d\n",sendResult);

 sendResult=shutdown(s,1);

 if (sendResult==SOCKET_ERROR) 
 {
  errorExit("Shutdown error");
 }
}

//Receive Data
void receiveData() 
{
 char receiveBuffer[bufferSize];
 int recvResult;
 int recvBuflen=bufferSize;
 int totalBytes=0;
 do 
 {
  recvResult=recv ( s, receiveBuffer, recvBuflen -1, 0);
  if ( recvResult&amp;gt;0 ) 
  {
   //printf("接收位元組:%d\n",recvResult);
   totalBytes+=recvResult;
   receiveBuffer[recvResult]='\0';
   //螢幕印出，接收資料編碼為 UTF-8，
   //若未處理轉碼，螢幕印出中文部份為亂碼
   //printf("%s",receiveBuffer);
   
   //印至檔案
   pUFile=fopen("utf8.txt","a");
    if ( pUFile !=NULL )
    {
     fputs(receiveBuffer,pUFile);
     fclose(pUFile);
    }
  }
  else if  ( recvResult==0 ) 
   printf("連接關閉\n");
  else 
   errorExit("Receive error");
 } while ( recvResult&amp;gt;0 );
 
 printf("總共接收位元組:%d\n",totalBytes);
}

//argv[1]greeneyes.myweb.hinet.net
//argv[2]/2009/08/2009080201.html
int main ( int argc, char *argv[] ) 
{
 if ( argc !=3 ) 
 {
  printf ("引數錯誤\n");
 }
 else 
 {
  HostName=argv[1];
  FilePath=argv[2];
  
  //調用任何 winsock 函數前，需進行 winsock 初始化
  if (WSAStartup(MAKEWORD(2, 0), &amp;amp;wsadata) != 0)  
  {
   errorExit("WSAStartup error");
  }
  
  createSocket(); 
  connectTCP(HostName,FilePath);
  sendData();
  receiveData();
  closesocket(s);
  WSACleanup();
 }
 return 0;
}
&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/796810736348108756-4584272951227720150?l=webhd01.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/zhdzGCd0aLyXz_SAJwyCyUcoZ_E/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zhdzGCd0aLyXz_SAJwyCyUcoZ_E/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/zhdzGCd0aLyXz_SAJwyCyUcoZ_E/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zhdzGCd0aLyXz_SAJwyCyUcoZ_E/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/QWfOQU/~4/imrZ1Ar6XHc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://webhd01.blogspot.com/feeds/4584272951227720150/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://webhd01.blogspot.com/2010/12/winsock-example-with-ansi-c.html#comment-form" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/796810736348108756/posts/default/4584272951227720150?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/796810736348108756/posts/default/4584272951227720150?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/QWfOQU/~3/imrZ1Ar6XHc/winsock-example-with-ansi-c.html" title="C 語言用 Winsock 擷取網頁內容" /><author><name>Kalvin</name><uri>http://www.blogger.com/profile/01840266551993498978</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/_ec1p8JsJSAg/TIrsPWCAS6I/AAAAAAAACG8/wWMJDGq7uFw/s1600/aboutme.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://webhd01.blogspot.com/2010/12/winsock-example-with-ansi-c.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D08DRH48fip7ImA9Wx9REEs.&quot;"><id>tag:blogger.com,1999:blog-796810736348108756.post-1207740038952174242</id><published>2010-12-09T22:33:00.180+08:00</published><updated>2010-12-11T19:11:15.076+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-11T19:11:15.076+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Boot Loader" /><category scheme="http://www.blogger.com/atom/ns#" term="Linux Distribution" /><title>自製可多重開機USB隨身碟-進階版(三)</title><content type="html">經過前二篇文章介紹的內容修改過後的 gfxboot 佈景主題，套用到我們自製的隨身碟後，我想效果應該是大部份人都可以滿意的，範例如下圖：&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/_ec1p8JsJSAg/TQMS5c5j0sI/AAAAAAAACbI/EnGLqVa6y-E/s1600/ThemeColor5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="496" n4="true" src="http://3.bp.blogspot.com/_ec1p8JsJSAg/TQMS5c5j0sI/AAAAAAAACbI/EnGLqVa6y-E/s640/ThemeColor5.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
細看主選單的部份，我們在 Grub4dos 的 menu.lst 內設定的 "Reboot" 被自動翻譯成 "重新開機"，而 "Halt" 並沒有翻成 "關機"，那是因為在字典檔裡並沒有 "Halt"，但是卻有 "Power Off"，解決的方法就是將 Grub4dos 內 menu.lst &amp;nbsp;中的 "Halt" 字串改成 "Power Off"，如果不想那麼麻煩，這裡提供另一種方法：&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;在 /data-boot 目錄下建立一份文字檔，檔名為 translations.&lt;em&gt;語系&lt;/em&gt; ，例如繁體中文為 translations.zh_TW&lt;/li&gt;
&lt;li&gt;在這份文字檔內加上要翻譯的字串，例如&lt;/li&gt;
&lt;pre class="txt"&gt;Halt
關機
&lt;/pre&gt;
&lt;li&gt;用以下指令，將這份文字檔插入至 message 內&lt;/li&gt;
&lt;pre class="txt"&gt;gfxboot --add-files translations.zh_TW&lt;/pre&gt;
&lt;/ol&gt;
&lt;br /&gt;
完成後就如下圖所示&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/_ec1p8JsJSAg/TQMX6t3RWhI/AAAAAAAACbM/npSQUB-c0Iw/s1600/ThemeColor6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="496" n4="true" src="http://2.bp.blogspot.com/_ec1p8JsJSAg/TQMX6t3RWhI/AAAAAAAACbM/npSQUB-c0Iw/s640/ThemeColor6.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
說真的，如果您的要求不是太高的話，到目前為止，應該可以製作出一顆具有您自己獨特風格的多重開機隨身碟，如果還是不滿意的話，那就只好接著再往下看囉。&lt;br /&gt;
&lt;h3&gt;
變更佈景主題的字體&lt;/h3&gt;
為了在圖片上能看出明顯的差異，這裡我用華康行書體作示範，步驟有些麻煩，操作要有點耐心。&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;華康字體副檔名為 .ttc，是字型集合檔，必需使用工具將它拆成 .ttf 檔，先下載 Windows 版的 TTCTools，解壓至 C:\TTCTools 目錄下，複製&amp;nbsp;DFT_S5.TTC ( 華康行書體 )&amp;nbsp;，到這個目錄下，進到命令列使用以下指令拆解成 .ttf&lt;/li&gt;
&lt;pre class="txt"&gt;breakttc DFT_S5.TTC&lt;/pre&gt;
拆解完成後，會產生 FONT00.TTF 及 FONT01.TTF 二個字型檔，二個都是華康行書體，FONT01.TTF 在字型名稱後有個 (P)，這二個字型檔有啥差異，說實在我並不清楚，因此我只取用 FONT00.TTF 並將它改名為 DFT_ST.TTF 後複製到 OpenSUSE 的家目錄內，用 OpenSUSE 的系統設定工具將字型安裝起來。&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;在 OpenSUSE 的 Theme 目錄下進行一次 make 動作，make 完先不要做 make clean，然後在家目錄內新增一個可執行的批次檔 &amp;nbsp;( chmod 755) mkblfont&amp;nbsp;，內容如下： &lt;pre class="txt"&gt;#佈景主題目錄
THEME_PATH=/home/kalvin/Theme/GreenEyes
#PO檔目錄
PO_PATH=$THEME_PATH/po
#說明檔目錄
HELP_PATH=$THEME_PATH/help-boot
#字型檔目錄，可以用 find / -name *.ttf 詢找
FONT_PATH=/usr/local/share/fonts/d
#字型檔檔名
FONTNAME=DFT_R5
#產生的字型檔名
FNT=xing
#額外的字元
Add_Char=繁简灣湾 

cat $PO_PATH/en.tr \
 $PO_PATH/zh_CN.tr \
 $PO_PATH/zh_TW.tr \
 $HELP_PATH/en/*.html \
 $HELP_PATH/zh_CN/*.html \
 $HELP_PATH/zh_TW/*.html &amp;gt;tmp.txt

echo $Add_Char &amp;gt;&amp;gt;tmp.txt

#prop 字元寬度
#size 字體大小
#space_width 字距
#dy 和字高有關
#bold 1=粗體 
gfxboot-font -v \
-t tmp.txt \
-p $FONT_PATH  \
-c big5 -f $FONTNAME:prop=2:size=19:space_width=0:bold=0 \
$FNT.fnt &amp;gt;$FNT.log
&lt;/pre&gt;
有程式撰寫經驗或熟 Linux 的朋友，一眼就能看出上面那段 script 的用意，對於不熟的朋友，我就大概解釋一下，# 註解符號下的目錄需視您的環境變更，然後使用 cat 指令將繁體中文、簡體中文、英文的字典檔(.PO)和說明檔(.html)內的所有文字抓出到一個暫存的 tmp.txt 檔內，並將佈景主題內會用到的額外字元附加到這份暫存檔內，最後使用 gfxboot-font 指令來產生佈景主題使用的字型檔，值得一提的是，我曾經看過有人是將常用漢字約3500個全部放入一份文字檔，再用 gfxboot-font 來生成字型檔，我是覺得沒那個必要啦，只要抓用得到的字來生成字型檔就好了，生成的檔案會必較小。 &lt;br /&gt;&lt;br /&gt;執行完這份 script 後，就會生成字型檔及log，以本例來說就是 xing.fnt 和 xing.log，log 檔是用來讓您檢視字型檔資訊用的，.fnt 就是我們要取用的字型檔，在把它放入原始檔前，可以用以下命令來測試效果： &lt;pre class="txt"&gt;#修改 gfxboot.cfg 內指定的預設字型
gfxboot --change-config font.normal=xing.fnt
#插入字型檔到 message 內
gfxboot --add-files xing.fnt
#測試預覽
gfxboot --preview
&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;
完成後的成果如下圖：&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/_ec1p8JsJSAg/TQMyz6a919I/AAAAAAAACbQ/JuXdTVQKYtQ/s1600/ThemeFont.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="496" n4="true" src="http://2.bp.blogspot.com/_ec1p8JsJSAg/TQMyz6a919I/AAAAAAAACbQ/JuXdTVQKYtQ/s640/ThemeFont.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
看起來是不是就又更上一層樓了呢？ 不過，以上的做法只對繁體中文有效，為什麼呢？因為，我手邊的華康字型檔不是 Unicode 的，繁體中文和簡體中文是分開的，如果要讓簡體中文也有同樣的效果，那麼在步驟 1 時，還得要再拆一個簡體中文的華康行書體 ( 英文字體也是一樣 )，然後在 mkblfont 內稍做修改，底下是我實際上在使用的 script ，貼出來讓大家參考好了： &lt;br /&gt;
&lt;pre class="txt"&gt;#佈景主題目錄
THEME_PATH=/home/kalvin/Theme/GreenEyes
#PO檔目錄
PO_PATH=$THEME_PATH/po
#說明檔目錄
HELP_PATH=$THEME_PATH/help-boot
#字型檔目錄
FONT_PATH=/usr/local/share/fonts/d:/usr/share/fonts/truetype:
#字型檔檔名
FONTNAME=DFT_R5
#產生的字型檔名
FNT=yuan
#額外的字元
Add_Char=繁简灣湾

cat $PO_PATH/en.tr \
 $PO_PATH/zh_CN.tr \
 $PO_PATH/zh_TW.tr \
 $HELP_PATH/en/*.html \
 $HELP_PATH/zh_CN/*.html \
 $HELP_PATH/zh_TW/*.html &amp;gt;tmp.txt

echo $Add_Char &amp;gt;&amp;gt;tmp.txt

#prop 字元寬度
#size 字體大小
#space_width 字距
#dy 和字高有關
#bold 1=粗體 
gfxboot-font -v -l 18 \
-t tmp.txt \
-p $FONT_PATH  \
-c ISO-8859-15 -c big5 -c gbk -r \
-f DejaVuSans:size=16 \
-f $FONTNAME:prop=2:size=16:space_width=5:dy=-1 \
-f DFGB_Y5:prop=2:size=16:space_width=5:dy=-1 \
$FNT.fnt &amp;gt;$FNT.log
&lt;/pre&gt;
加上這篇，自製可多重開機USB隨身碟-進階版一共發了三篇，結束了嗎？我覺得是看人啦，有的人這樣應該就滿足了，有些人...像我，可能就還會想東搞西搞的，其實 gfxboot 能搞的花樣還真不少咧，下一篇該寫些什麼呢？嗯，讓我想想先...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/796810736348108756-1207740038952174242?l=webhd01.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/YxKTvMqakrGuLMQoyEqMuczUc-Q/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YxKTvMqakrGuLMQoyEqMuczUc-Q/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/YxKTvMqakrGuLMQoyEqMuczUc-Q/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YxKTvMqakrGuLMQoyEqMuczUc-Q/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/QWfOQU/~4/OszfQkdnsus" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://webhd01.blogspot.com/feeds/1207740038952174242/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://webhd01.blogspot.com/2010/12/custom-bootable-tools-usb-advanced-3.html#comment-form" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/796810736348108756/posts/default/1207740038952174242?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/796810736348108756/posts/default/1207740038952174242?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/QWfOQU/~3/OszfQkdnsus/custom-bootable-tools-usb-advanced-3.html" title="自製可多重開機USB隨身碟-進階版(三)" /><author><name>Kalvin</name><uri>http://www.blogger.com/profile/01840266551993498978</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/_ec1p8JsJSAg/TIrsPWCAS6I/AAAAAAAACG8/wWMJDGq7uFw/s1600/aboutme.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_ec1p8JsJSAg/TQMS5c5j0sI/AAAAAAAACbI/EnGLqVa6y-E/s72-c/ThemeColor5.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://webhd01.blogspot.com/2010/12/custom-bootable-tools-usb-advanced-3.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0UCQ3kzfyp7ImA9Wx9SGU0.&quot;"><id>tag:blogger.com,1999:blog-796810736348108756.post-8562288975940986718</id><published>2010-12-08T20:40:00.127+08:00</published><updated>2010-12-09T22:34:22.787+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-09T22:34:22.787+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Boot Loader" /><category scheme="http://www.blogger.com/atom/ns#" term="Linux Distribution" /><title>自製可多重開機USB隨身碟-進階版(二)</title><content type="html">在前一篇文章&lt;a href="http://webhd01.blogspot.com/2010/12/custom-bootable-tools-usb-advanced-1.html?spref=bl"&gt;自製可多重開機USB隨身碟-進階版(一)&lt;/a&gt;裡，我們修改了背景底圖和介面語系，成果如下圖：&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/_ec1p8JsJSAg/TP5fnSN_CsI/AAAAAAAACa0/0aj-1X7iI10/s1600/Theme2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="496" n4="true" src="http://4.bp.blogspot.com/_ec1p8JsJSAg/TP5fnSN_CsI/AAAAAAAACa0/0aj-1X7iI10/s640/Theme2.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
開始新主題前，先看看有什麼不滿意的地方...有了，那個選單的位置，看了很不滿，所以就從它開始好了。&lt;br /&gt;
&lt;h3&gt;
修改選單的位置和顏色&lt;/h3&gt;
建議先使用 gfxboot 命令修改並測試，找出您的選單最佳位置後，再把得到的值修改到原始檔內，gfxboot 命令為： &lt;br /&gt;
&lt;pre class="txt"&gt;gfxboot --change-config 800x600::mainmenu.pos=x,y
&lt;/pre&gt;
先解釋一下這個命令好了，800x600 的數值可不是隨便填的，那是因為 gfxboot.cfg 內有個 [800x600] 的區塊( 在後面會再提到，其實 gfxboot 的螢幕大小是可以調的 )，這行命令主要就是要修改這個區塊內定義的 mainmenu.pos，x 是橫座標，y 是縱座標，0,0 是最左上角，您可以自行試驗。&lt;br /&gt;
&lt;br /&gt;
確定位置之後，就可以開啟 /src/gfxboot.cfg 找到 [800x600] 區塊內的 mainmenu.pos ，將 x,y 填上即可。&lt;br /&gt;
&lt;br /&gt;
再來，現在來嘗試改變選單的顏色，同樣的，先使用 gfxboot 命令修改，gfxboot 命令為： &lt;br /&gt;
&lt;pre class="txt"&gt;gfxboot --change-config mainmenu.normal.fg=0xRRGGBB
&lt;/pre&gt;
RRGGBB 為 24 位元的 RGB 色彩。同樣的，可以在 /src/gfxboot.cfg 內找到 mainmenu.normal.fg=0xFFFFF0 字串後，將0x後的顏色代碼換成您要的顏色。&lt;br /&gt;
&lt;br /&gt;
選單被選中後，還有二個顏色可更改，分別是文字底下光標的顏色，和選中文字的顏色，底下把這二個的 gfxboot 命令列出，更改原始檔的方式同上，找到相對應的字串加以更改後即可。&lt;br /&gt;
&lt;br /&gt;
變更已選中選單文字光標顏色 &lt;br /&gt;
&lt;pre class="txt"&gt;gfxboot --change-config mainmenu.bar.color=0xRRGGBB&lt;/pre&gt;
變更已選中選單文字顏色 &lt;br /&gt;
&lt;pre class="txt"&gt;gfxboot --change-config mainmenu.selected.fg=0xRRGGBB&lt;/pre&gt;
其實，打開 /src/gfxboot.cfg 後，您可以發覺，有許多的地方顏色都可以變更，直接在原始檔內修改會比使用 gfxboot 命令來得快多了，這就是我一開始的時候說的，使用命令或直接修改原始檔都可以，看哪個方便就用哪個。底下我將可變更顏色的地方都加以標註供修改參考。&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/_ec1p8JsJSAg/TQDg1Viv-0I/AAAAAAAACa4/N6Ow_VKsI3s/s1600/ThemeColor1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="496" n4="true" src="http://3.bp.blogspot.com/_ec1p8JsJSAg/TQDg1Viv-0I/AAAAAAAACa4/N6Ow_VKsI3s/s640/ThemeColor1.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/_ec1p8JsJSAg/TQDjVSQ6L2I/AAAAAAAACa8/ZEzmQJtdPgU/s1600/ThemeColor2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="496" n4="true" src="http://4.bp.blogspot.com/_ec1p8JsJSAg/TQDjVSQ6L2I/AAAAAAAACa8/ZEzmQJtdPgU/s640/ThemeColor2.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/_ec1p8JsJSAg/TQDloU4uT5I/AAAAAAAACbA/L8vAs6mijMY/s1600/ThemeColor3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="496" n4="true" src="http://4.bp.blogspot.com/_ec1p8JsJSAg/TQDloU4uT5I/AAAAAAAACbA/L8vAs6mijMY/s640/ThemeColor3.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/_ec1p8JsJSAg/TQDnP7WoebI/AAAAAAAACbE/vAzdGONBCWA/s1600/ThemeColor4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="496" n4="true" src="http://3.bp.blogspot.com/_ec1p8JsJSAg/TQDnP7WoebI/AAAAAAAACbE/vAzdGONBCWA/s640/ThemeColor4.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
以上就是在 gfxboot.cfg 內可修改顏色的部份，如有遺漏或謬誤，請留下意見，關於更多內容，就請期待下篇文章囉。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/796810736348108756-8562288975940986718?l=webhd01.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/AeZm6FOVSmhS-u66B7pb_k5KV3o/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/AeZm6FOVSmhS-u66B7pb_k5KV3o/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/AeZm6FOVSmhS-u66B7pb_k5KV3o/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/AeZm6FOVSmhS-u66B7pb_k5KV3o/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/QWfOQU/~4/ZL6vTSNZAxo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://webhd01.blogspot.com/feeds/8562288975940986718/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://webhd01.blogspot.com/2010/12/custom-bootable-tools-usb-advanced-2.html#comment-form" title="1 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/796810736348108756/posts/default/8562288975940986718?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/796810736348108756/posts/default/8562288975940986718?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/QWfOQU/~3/ZL6vTSNZAxo/custom-bootable-tools-usb-advanced-2.html" title="自製可多重開機USB隨身碟-進階版(二)" /><author><name>Kalvin</name><uri>http://www.blogger.com/profile/01840266551993498978</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/_ec1p8JsJSAg/TIrsPWCAS6I/AAAAAAAACG8/wWMJDGq7uFw/s1600/aboutme.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_ec1p8JsJSAg/TP5fnSN_CsI/AAAAAAAACa0/0aj-1X7iI10/s72-c/Theme2.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://webhd01.blogspot.com/2010/12/custom-bootable-tools-usb-advanced-2.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0UMQn87fyp7ImA9Wx9SGU0.&quot;"><id>tag:blogger.com,1999:blog-796810736348108756.post-113820273570559143</id><published>2010-12-07T20:46:00.002+08:00</published><updated>2010-12-09T22:34:43.107+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-09T22:34:43.107+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Boot Loader" /><category scheme="http://www.blogger.com/atom/ns#" term="Linux Distribution" /><title>自製可多重開機USB隨身碟-進階版(一)</title><content type="html">Grub4Dos 可以使用 gfxmenu 來美化啟動選單，它有點像是開機選單的佈景主題，網路上雖然有很多類似的教學文件，但我覺得還是太過淩亂，缺乏有系統的整理，因此，還是用我自己的方法來做個整理好了。 &lt;br /&gt;
&lt;br /&gt;
在使用 gfxmenu 前，有必要先來了解一下什麼是 gfxboot？gfxboot 可以將文字模式的 BootLoader 美化成圖形模式，它不是一個單獨運作的軟體，而是對 BootLoader 的加強模組，目前大部份的 BootLoader 都已支援 gfxboot，如 grub、lilo、isolinux 及 syslinux 等。&lt;br /&gt;
&lt;br /&gt;
調用 gfxboot 的方式各家 BootLoader 不盡相同，如 grub 是在 menu.lst 內使用 gfxmenu 命令，lilo 在 lilo.conf 內使用 message 命令，isolinux 則是在 isolinux.cfg 內使用 gfxboot 命令，由於這篇文章是延續之前的二篇文章，所以，各家 BootLoader 使用 gfxboot 的細節就不在這裡討論，我們關注的焦點其實是 Grub4dos 對 gfxboot 的支援。&lt;br /&gt;
&lt;br /&gt;
Grub4dos 從 0.4.4 版開始支援 gfxboot，和 grub 一樣，在 menu.lst 內調用如下的指令：&lt;br /&gt;
&lt;pre class="txt"&gt;gfxmenu (hd0,1)/boot/message&lt;/pre&gt;
message 是一個使用 cpio 打包過的檔案，裡面包的就是 gfxboot 的所需文件，如背景圖、字體、說明檔、gfxboot 設定檔...等，在 OpenSUSE 內，預設的安裝目錄是 /boot，為了測試 Grub4dos 對 gfxboot 的支援，我在 VirtualBox 上裝了一套 OpenSUSE 11.3，然後從 /boot 下複製了一份 message 到之前製作的 USB 工作碟上，並在 menu.lst 內使用了 gfxmenu 命令，結果您猜，發生了什麼事？&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/_ec1p8JsJSAg/TMPvX_I7DrI/AAAAAAAACPA/bxSgF7fMSWY/s1600/pic1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="500" nx="true" src="http://2.bp.blogspot.com/_ec1p8JsJSAg/TMPvX_I7DrI/AAAAAAAACPA/bxSgF7fMSWY/s640/pic1.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
如上圖，開機後映入眼簾的就是，OpenSUSE 的開機畫面，而選單內容還是我之前的選單內容，這意味著什麼？是不是如果我更改 message 檔案的內容，就可以訂製我自己的開機畫面呢？答案還不清楚，只有做些實驗才能知道。&lt;br /&gt;
&lt;br /&gt;
message 需要使用 cpio 壓縮及解壓縮，如果您沒有 Linux 的操作環境的話，可以下載 &lt;a href="http://downloads.sourceforge.net/mingw/MSYS-1.0.11.exe"&gt;MSYS 1.0.11&lt;/a&gt; 來模擬 Shell 的環境，另外還需下載 cpio.rar&amp;nbsp;，將 cpio.rar 解壓至 C:\msys\1.0\bin 目錄下即可。( 事實上我還是覺得直接在 Linux 下操作會方便一些 )&lt;br /&gt;
&lt;br /&gt;
先來看看 message 解開後的內容是什麼：&lt;br /&gt;
&lt;br /&gt;
16x16.fnt&lt;br /&gt;
back.jpg&lt;br /&gt;
&lt;span style="color: blue;"&gt;800x600 24bit 16KB 的 jpeg&lt;/span&gt; &lt;br /&gt;
en.hlp&lt;br /&gt;
en.tr&lt;br /&gt;
gfxboot.cfg&lt;br /&gt;
init&lt;br /&gt;
&lt;span style="color: blue;"&gt;二進位檔&lt;/span&gt;&lt;br /&gt;
lang&lt;br /&gt;
languages&lt;br /&gt;
pabout.txt&lt;br /&gt;
panim.jpg&lt;br /&gt;
panim_a.jpg&lt;br /&gt;
pback.jpg&lt;br /&gt;
phead.jpg&lt;br /&gt;
timer_a.jpg&lt;br /&gt;
translations.zh_TW&lt;br /&gt;
zh_TW.hlp&lt;br /&gt;
zh_TW.tr&lt;br /&gt;
&lt;br /&gt;
看起來，似乎只要更換 back.jpg 就可以達到改變背景圖的效果，根據網路上找到的資料，gfxboot 對於背景圖片是有限制的，必須是 800x600x24bit 尺寸不能超過 150KB~200KB 的 jpeg 圖片，我暫時不想做太多測試，因此就替換了一張同樣格式( 800x600x24bit 28KB)的圖片，重新用 cpio 打包後做測試，結果如下：&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/_ec1p8JsJSAg/TMQivUlOEgI/AAAAAAAACPE/Nbed30FOF84/s1600/pic2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="500" nx="true" src="http://2.bp.blogspot.com/_ec1p8JsJSAg/TMQivUlOEgI/AAAAAAAACPE/Nbed30FOF84/s640/pic2.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
嘿嘿，美腿總算可以看見高清版了，現在我們已經知道置換 back.jpg 的效果了，可是，我發覺，我的 menu.lst 內明明寫的是 Reboot，怎麼現在會變成重新開機了呢？莫非，message 內有著什麼字典檔？&amp;nbsp;可是，問題來了，我把 message 內所有的文字檔案都看了一遍，都沒有什麼 Reboot 和重新開機的字眼，那麼關鍵到底在哪裡呢？&amp;nbsp;由於 message 事實上是經過編譯而產生的，單純修改 message 這條路，我看還是放棄好了。&lt;br /&gt;
&lt;br /&gt;
那麼，接下來該怎麼做呢？對岸有熱心的朋友開發一個小程式，可以直接製作 message 檔，可是一來，我忘了在哪裡看到的，二來，因為它是簡體中文的，要使用它還得轉碼，有點小麻煩，所以，我選擇的方法是，直接在我的 VirtualBox 內執行 OpenSUSE，然後用 OpenSUSE 附的 gfxboot 工具來產生 message，最後再把這個 message 給它拷貝出來使用即可。&lt;br /&gt;
&lt;br /&gt;
在 OpenSUSE 裡客製 message 的方法，一為使用 gfxboot 或 cpio 直接修改 /boot/message 內的 gfxboot.cfg 檔，二為重新編譯 gfxboot-devel 套件內的範例主題，前者較適合一般使用者，後者則需稍具程式撰寫經驗者，底下我會將二者的方法一併列出，其實有時候為了方便，混著使用也無妨，只是有一點要特別注意的是，使用重新編譯的話，每次編譯完都會產生一份新的 message，使用 gfxboot 命令則是在現有的 /boot/message 內進行修改，二者的差異不要搞混了就好。&lt;br /&gt;
&lt;br /&gt;
首先，需要做的是在 OpenSUSE 內安裝 gfxboot-devel、qemu，詳情這裡就不多說了，將 gfxboot-devel 套件內附的 OpenSUSE Theme ( 在 /usr/share/gfxboot/themes/ 目錄下 )，複製一份到家目錄內，它的內容如下圖：&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/_ec1p8JsJSAg/TPuZh4s8a8I/AAAAAAAACaM/vAGrGfckGNQ/s1600/OpenSUSE_Theme.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="444" ox="true" src="http://2.bp.blogspot.com/_ec1p8JsJSAg/TPuZh4s8a8I/AAAAAAAACaM/vAGrGfckGNQ/s640/OpenSUSE_Theme.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
看到 Makefile 了嗎？這表示，修改完成後您得要進行編譯的動作才行，以我為例，即執行以下指令： &lt;br /&gt;
&lt;pre class="txt"&gt;#cd /home/kalvin/Theme/openSUSE
#make clean
#make&lt;/pre&gt;
make 完成後就會在同一目錄下產生 message 檔，您可以將它複製到 /boot 目錄下進行稍後的測試動作，原來 /boot 目錄下的 message 看您是要刪除還是備份都可以。&lt;br /&gt;
&lt;br /&gt;
那麼修改完成後，要怎麼測試成果呢？gfxboot 很貼心的提供了 test 的功能，不過前提是您必須安裝了 qemu 才行，執行以下指令，即可看見修改的成果： &lt;br /&gt;
&lt;pre class="txt"&gt;#gfxboot --test --preview&lt;/pre&gt;
&lt;br /&gt;
接下來，就開始說明修改的動作如何操作，原則上，我會用修改原始檔並重新編譯的方式操作，但也會附上使用 gfxboot 命令執行相同的動作的說明，請自行選用。&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
更換佈景主題背景底圖&lt;/h3&gt;
底下我以一個實例來做示範，一樣用我的高清美腿來做背景(喔，我愛死它了...)&lt;br /&gt;
&lt;br /&gt;
如果要用重新編譯的方法的話，將圖片覆寫至 OpenSUSE Theme 的 data-boot 目錄內，執行 make 就可以了&amp;nbsp;，複製 message 到 /boot 目錄下，用 gfxboot 命令測試，初步成果如下圖：&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/_ec1p8JsJSAg/TPuo1TtdtlI/AAAAAAAACaQ/TvOgWRn84QY/s1600/theme1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="496" ox="true" src="http://1.bp.blogspot.com/_ec1p8JsJSAg/TPuo1TtdtlI/AAAAAAAACaQ/TvOgWRn84QY/s640/theme1.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
或使用 gfxboot 命令： &lt;br /&gt;
&lt;pre class="txt"&gt;#gfxboot --add-file back.jpg&lt;/pre&gt;
或直接將 back.jpg 使用 File Roller 插入至 message 內 &lt;br /&gt;
&lt;br /&gt;
Tips：有時候，您可能會看到背景圖變成企鵝動畫，那是因為 gfxboot&amp;nbsp;預設會隨機以企鵝動畫替代您的背景圖，如果您完全不想看到它，可以這麼做 &lt;br /&gt;
&lt;pre class="txt"&gt;#gfxboot --change-config penguin=0&lt;/pre&gt;
這麼一來，就等於關閉它了，如果要在編譯時就關閉它，那麼在 OpenSUSE Theme 的 /src 目錄下有一份 gfxboot.cfg ，開啟它，找到 &lt;br /&gt;
&lt;pre class="txt"&gt;penguin=-1&lt;/pre&gt;
改成 &lt;br /&gt;
&lt;pre class="txt"&gt;penguin=0&lt;/pre&gt;
即可 &lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
變更佈景主題語系&lt;/h3&gt;
仔細瞧，上個步驟圖片中的文字部份都是英文的，選單內容則是這台機器上的選單內容，這點沒關係，因為我們要的只是它的佈景主題而已，到時候套用到我們自己的隨身碟上時，選單自然是我們己設定好的，重點是要如何將文字變成中文，答案就在這裡： &lt;br /&gt;
&lt;pre class="txt"&gt;#gfxboot --add-languages zh_TW zh_CN --default-language zh_TW&lt;/pre&gt;
一行指令搞定，由於 OpenSUSE 支援繁體中文，所以在 gfxboot-devel 套件內包含完整的繁體中文翻譯檔，上面的指令就是將繁體中文、簡體中文的語系翻譯檔加入 message 內，並將預設語系設為繁體中文，效果如下圖：&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/_ec1p8JsJSAg/TPvCqAyFZ3I/AAAAAAAACaw/WjDHCh-TXwE/s1600/Theme2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="496" ox="true" src="http://3.bp.blogspot.com/_ec1p8JsJSAg/TPvCqAyFZ3I/AAAAAAAACaw/WjDHCh-TXwE/s640/Theme2.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
現在可以看到除了選單部份的文字之外，已經變成繁體中文了，同時如果按下 F2 的話，還可以切換成英文或是簡體中文，不過，要注意的是，使用 gfxboot 指令進行的修改動作，是直接對 /boot/message 做修改，萬一下次還需要對原始 Theme 進行修改及重新編譯的話，&amp;nbsp;就還得要重新執行一次這個指令，有點麻煩，所以我提供另外一種做法，那就是直接對 Makefile 進行修改，那麼無論要重新編譯幾次，這部份都可以維持現在的狀況，實際的做法為：&lt;br /&gt;
&lt;br /&gt;
開啟 OpenSUSE Theme 內的 Makefile ，找到底下這一行&lt;br /&gt;
&lt;pre class="txt"&gt;DEFAULT_LANG =&lt;/pre&gt;
修改成 &lt;br /&gt;
&lt;pre class="txt"&gt;DEFAULT_LANG = zh_TW&lt;/pre&gt;
再來找底下這一行 &lt;br /&gt;
&lt;pre class="txt"&gt;cp -rL po/en.tr help-boot/en.hlp message.dir&lt;/pre&gt;
在它下面再增加一行 &lt;br /&gt;
&lt;pre class="txt"&gt;cp -rL po/zh_CN.tr help-boot/zh_CN.hlp message.dir&lt;/pre&gt;
然後存檔，接下來再修改 data-boot 目錄下的 languages，開啟它後只有一行內容 &lt;br /&gt;
&lt;pre class="txt"&gt;en_US&lt;/pre&gt;
在它底下增加一行 &lt;br /&gt;
&lt;pre class="txt"&gt;zh_CN&lt;/pre&gt;
存檔，重新編譯看看成果如何，應該算不錯了吧？只是我個人比較龜毛一點，看著那個 F4 Keyboard 還是英文的就有氣，雖然 keymaps 裡沒有繁體中文，但我想把 "Keyboard" 字串改成"鍵盤"，應該不算過份吧？&lt;br /&gt;
&lt;br /&gt;
研究了一下，終於找到了為什麼明明字典檔內有 "Keyboard" 的翻譯，介面上卻仍然顯示著 "Keyboard" 而不是 "鍵盤"，原來，在 /src/dia_keymap.inc 內有這麼一行： &lt;br /&gt;
&lt;pre class="txt"&gt;xmenu .xm_title "Keyboard" put&lt;/pre&gt;
原作者不知道什麼原因，在這居然直接把 "Keyboard" 字串寫入，把它改成： &lt;br /&gt;
&lt;pre class="txt"&gt;xmenu .xm_title /txt_keyboard put&lt;/pre&gt;
這樣就表示 "Keyboard" 這個字串是由字典檔提供的了...呃，如果看不懂我在寫什麼的，那乾脆把它關閉好了，反正不管繁中還是簡中，鍵盤的 layout 都是 US，要讓 "Keyboard" 不顯示那就簡單多了，開啟 /src/gfxboot.cfg 找到 [boot] 區段下的這一行&lt;br /&gt;
&lt;pre class="txt"&gt;key.F4=keymap&lt;/pre&gt;
前面加個 ; 號，註解掉就行了，變成 &lt;br /&gt;
&lt;pre class="txt"&gt;;key.F4=keymap&lt;/pre&gt;
重新編譯就可以了，不想重新編譯者，修改 message 內同樣內容也是一樣的，效果如下圖&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/_ec1p8JsJSAg/TP5fnSN_CsI/AAAAAAAACa0/0aj-1X7iI10/s1600/Theme2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="496" ox="true" src="http://4.bp.blogspot.com/_ec1p8JsJSAg/TP5fnSN_CsI/AAAAAAAACa0/0aj-1X7iI10/s640/Theme2.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
不知道是不是我廢話太多，總覺得文章太長了，修改 HTML 時看得我眼花撩亂的，我想還是多分成幾篇來介紹好了，其它的內容，靜待下回分解囉~&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/796810736348108756-113820273570559143?l=webhd01.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ljPZzZS0GfgUEx7YT-TYm8S7CIk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ljPZzZS0GfgUEx7YT-TYm8S7CIk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ljPZzZS0GfgUEx7YT-TYm8S7CIk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ljPZzZS0GfgUEx7YT-TYm8S7CIk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/QWfOQU/~4/Ik2JduwimYM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://webhd01.blogspot.com/feeds/113820273570559143/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://webhd01.blogspot.com/2010/12/custom-bootable-tools-usb-advanced-1.html#comment-form" title="2 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/796810736348108756/posts/default/113820273570559143?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/796810736348108756/posts/default/113820273570559143?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/QWfOQU/~3/Ik2JduwimYM/custom-bootable-tools-usb-advanced-1.html" title="自製可多重開機USB隨身碟-進階版(一)" /><author><name>Kalvin</name><uri>http://www.blogger.com/profile/01840266551993498978</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/_ec1p8JsJSAg/TIrsPWCAS6I/AAAAAAAACG8/wWMJDGq7uFw/s1600/aboutme.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_ec1p8JsJSAg/TMPvX_I7DrI/AAAAAAAACPA/bxSgF7fMSWY/s72-c/pic1.png" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://webhd01.blogspot.com/2010/12/custom-bootable-tools-usb-advanced-1.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0cARHw4eSp7ImA9Wx9SFUk.&quot;"><id>tag:blogger.com,1999:blog-796810736348108756.post-3008366464372215069</id><published>2010-12-05T15:08:00.066+08:00</published><updated>2010-12-05T17:24:05.231+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-05T17:24:05.231+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Samba" /><category scheme="http://www.blogger.com/atom/ns#" term="Linux Distribution" /><title>OpenSUSE 11.3 Samba 設定</title><content type="html">Open SUSE 11.3&amp;nbsp;的 Samba 版本為&amp;nbsp;3.5.4，安裝完成後必須先做一些檢查，確定 Samba 已正確安裝且可正常服務，它的設定檔位置為 /etc/samba/smb.conf&lt;br /&gt;
&lt;br /&gt;
檢查 Samba 的版本可內以下指令 &lt;br /&gt;
&lt;pre class="brush:bash;"&gt;#smbd -V&lt;/pre&gt;
&lt;pre class="txt"&gt;Version 3.5.4-4.1-2382-SUSE-SL11.3&lt;/pre&gt;
檢查 smb.conf 內的語法狀態可用以下指令 &lt;br /&gt;
&lt;pre class="brush:bash;"&gt;#testparm&lt;/pre&gt;
&lt;pre class="txt"&gt;Load smb config files from /etc/samba/smb.conf
rlimit_max: rlimit_max (1024) below minimum Windows limit (16384)
Processing section "[homes]"
Processing section "[profiles]"
Processing section "[users]"
Processing section "[groups]"
Processing section "[printers]"
Processing section "[print$]"
Loaded services file OK.
Server role: ROLE_DOMAIN_MEMBER
Press enter to see a dump of your service definitions
&lt;/pre&gt;
檢查 samba 使用的埠口 &lt;br /&gt;
&lt;pre class="brush:bash;"&gt;#netstat -apn | egrep ':137|:138|:139|:445'&lt;/pre&gt;
&lt;pre class="txt"&gt;tcp  0 0 :::445             :::*       LISTEN  2726/smbd
tcp  0 0 :::139             :::*       LISTEN  2726/smbd
udp  0 0 192.168.1.255:137  0.0.0.0:*          7646/nmbd
udp  0 0 192.168.1.13:137   0.0.0.0:*          7646/nmbd
udp  0 0 0.0.0.0:137        0.0.0.0:*          7646/nmbd
udp  0 0 192.168.1.255:138  0.0.0.0:*          7646/nmbd
udp  0 0 192.168.1.13:138   0.0.0.0:*          7646/nmbd
udp  0 0 0.0.0.0:138        0.0.0.0:*          7646/nmbd
&lt;/pre&gt;
檢查 nmbd 及 smbd 這二支服務是否存在 &lt;br /&gt;
&lt;pre class="brush:bash;"&gt;#ps aux | grep mbd&lt;/pre&gt;
&lt;pre class="txt"&gt;root      2726  0.0  0.6  19728  3076 ?        Ss   13:22   0:00 /usr/sbin/smbd -D -s /etc/samba/smb.conf
root      2732  0.0  0.2  19620  1076 ?        S    13:22   0:00 /usr/sbin/smbd -D -s /etc/samba/smb.conf
root      7646  0.0  0.3  10840  1672 ?        Ss   15:03   0:00 /usr/sbin/nmbd -D -s /etc/samba/smb.conf
root      7823 20.0  0.1   3696   772 pts/1    S+   15:50   0:00 grep mbd
&lt;/pre&gt;&lt;br/&gt;
以上的檢查如果都通過的話，就可以開始進行 smb.conf 檔的設定了&lt;br/&gt;&lt;br/&gt;
記得修改完 smb.conf 使用以下指令重新啟動 Samba
&lt;pre class='brush:bash;'&gt;
#rcsmb restart
#rcnmb restart&lt;/pre&gt;
smb.conf 的內容如下：&lt;br /&gt;
&lt;pre class="brush:bash;"&gt;
# smb.conf is the main Samba configuration file. You find a full commented
# version at /usr/share/doc/packages/samba/examples/smb.conf.SUSE if the
# samba-doc package is installed.
# Date: 2010-07-05

[global]
 #工作群組名稱
 workgroup = MSHOME
 
 #主機的 netbios 名稱，如果不設，預設為系統的主機名稱
 netbios name = OpenSUSE11 

 #顯示在網芳中的主機註解說明，可設可不設
 server string = Samba Server
 
 #用戶密碼資料庫，有三種選擇:smbpasswd,tdbsam,ldapsam
 #smbpasswd:使用 Samba 本身的工具 smbpasswd 管理用戶密碼
 #tdbsam:以 passdb.tdb 資料庫管理用戶密碼
 #ldapsam:以 LDAP 服務管理用戶密碼
 passdb backend = smbpasswd
   
 #將此 Samba Server 設定為 cups 印表機伺服器
 printing = cups
 printcap name = cups
 printcap cache time = 750
 cups options = raw
 
 #登入時錯誤的帳號會被對映到 guest 帳號，方便 windows 做匿名登入
 map to guest = Bad User
 
 include = /etc/samba/dhcp.conf
 
 logon path = \\%L\profiles\.msprofile
 logon home = \\%L\%U\.9xprofile
 logon drive = P:
 usershare allow guests = Yes
 add machine script = /usr/sbin/useradd  -c Machine -d /var/lib/nobody -s /bin/false %m$
 domain logons = No
 domain master = No
        
 #共有四種等級:user,server,domain,share
 #user:由 Samba 本身負責認證
 #server:由外部的 Samba server 進行認證
 #domain:由 NT 網域的控制站進行認證
 #share:完全不需要認證 
 security = user
 wins support = No
 usershare max shares = 100
[homes]
 comment = Home Directories
 valid users = %S, %D%w%S
 browseable = No
 read only = No
 inherit acls = Yes
[profiles]
 comment = Network Profiles Service
 path = %H
 read only = No
 store dos attributes = Yes
 create mask = 0600
 directory mask = 0700

[users]
 comment = All users
 path = /home
 read only = No
 inherit acls = Yes
 veto files = /aquota.user/groups/shares/
[groups]
 comment = All groups
 path = /home/groups
 read only = No
 inherit acls = Yes
[printers]
 comment = All Printers
 path = /var/tmp
 printable = Yes
 create mask = 0600
 browseable = No
[print$]
 comment = Printer Drivers
 path = /var/lib/samba/drivers
 write list = @ntadmin root
 force group = ntadmin
 create mask = 0664
 directory mask = 0775

## Share disabled by YaST
# [netlogon]
&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/796810736348108756-3008366464372215069?l=webhd01.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/SsE-uNN_QIJXV86OwZxXpvDa3z8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SsE-uNN_QIJXV86OwZxXpvDa3z8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/SsE-uNN_QIJXV86OwZxXpvDa3z8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SsE-uNN_QIJXV86OwZxXpvDa3z8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/QWfOQU/~4/A3_ejRJoj8o" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://webhd01.blogspot.com/feeds/3008366464372215069/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://webhd01.blogspot.com/2010/12/opensuse-113-samba-setup.html#comment-form" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/796810736348108756/posts/default/3008366464372215069?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/796810736348108756/posts/default/3008366464372215069?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/QWfOQU/~3/A3_ejRJoj8o/opensuse-113-samba-setup.html" title="OpenSUSE 11.3 Samba 設定" /><author><name>Kalvin</name><uri>http://www.blogger.com/profile/01840266551993498978</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/_ec1p8JsJSAg/TIrsPWCAS6I/AAAAAAAACG8/wWMJDGq7uFw/s1600/aboutme.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://webhd01.blogspot.com/2010/12/opensuse-113-samba-setup.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEUMQ385eip7ImA9Wx9SFEs.&quot;"><id>tag:blogger.com,1999:blog-796810736348108756.post-2045465825106324775</id><published>2010-12-04T19:46:00.076+08:00</published><updated>2010-12-04T20:38:02.122+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-04T20:38:02.122+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Windows" /><category scheme="http://www.blogger.com/atom/ns#" term="Gadget" /><title>使用 Visual Studio 2008 建置 Windows Gadget</title><content type="html">目前開發 Windows Gadget 並沒有一套專門的 IDE 工具，文件多時，整理起來頗累人的，這裡分享一個使用 Visual Studio 2008 做為開發 Gadget 的 IDE 的方法，供大家參考。&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;請使用系統管理員身分執行 Visual Studio 2008，這樣才可以在 %SYSTEM_ROOT%\Program Files\Windows Sidebar\Gadgets\ 下存取文件&lt;/li&gt;
&lt;li&gt;在 %SYSTEM_ROOT%\Program Files\Windows Sidebar\Gadgets\ 下先建立一個空的資料夾，名稱為您的 Gadget 名稱加上 .Gadget ，例如：HelloWorld.Gadget&lt;/li&gt;
&lt;li&gt;&amp;nbsp;在 Visual Studio 2008 內點選檔案&amp;gt;開啟&amp;gt;網站，並指到剛剛建立的空資料夾內，如下圖：&lt;/li&gt;
&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/_ec1p8JsJSAg/TPozcO5iEWI/AAAAAAAACZ4/LnqNJ2mxWqU/s1600/Gadget_vs2008_1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="539" ox="true" src="http://2.bp.blogspot.com/_ec1p8JsJSAg/TPozcO5iEWI/AAAAAAAACZ4/LnqNJ2mxWqU/s640/Gadget_vs2008_1.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;li&gt;點選開啟後，左側的方案總管內即會出現此方案內容，儲存此方案後，就可依&lt;a href="http://webhd01.blogspot.com/2010/12/windows-sidebar-gadget.html"&gt;開發 Gadget 步驟&lt;/a&gt;開始建置 Windows Gadget 了，整體畫面如下：&lt;/li&gt;
&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/_ec1p8JsJSAg/TPo1cWBfl7I/AAAAAAAACZ8/IRX0EsEWwFA/s1600/Gadget_vs2008_2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="440" ox="true" src="http://1.bp.blogspot.com/_ec1p8JsJSAg/TPo1cWBfl7I/AAAAAAAACZ8/IRX0EsEWwFA/s640/Gadget_vs2008_2.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/796810736348108756-2045465825106324775?l=webhd01.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/40tovUeli7ur2TuJse5fDWX1SHA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/40tovUeli7ur2TuJse5fDWX1SHA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/40tovUeli7ur2TuJse5fDWX1SHA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/40tovUeli7ur2TuJse5fDWX1SHA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/QWfOQU/~4/nOEnkM8LsVg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://webhd01.blogspot.com/feeds/2045465825106324775/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://webhd01.blogspot.com/2010/12/create-windows-gadget-using-visual.html#comment-form" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/796810736348108756/posts/default/2045465825106324775?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/796810736348108756/posts/default/2045465825106324775?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/QWfOQU/~3/nOEnkM8LsVg/create-windows-gadget-using-visual.html" title="使用 Visual Studio 2008 建置 Windows Gadget" /><author><name>Kalvin</name><uri>http://www.blogger.com/profile/01840266551993498978</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/_ec1p8JsJSAg/TIrsPWCAS6I/AAAAAAAACG8/wWMJDGq7uFw/s1600/aboutme.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_ec1p8JsJSAg/TPozcO5iEWI/AAAAAAAACZ4/LnqNJ2mxWqU/s72-c/Gadget_vs2008_1.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://webhd01.blogspot.com/2010/12/create-windows-gadget-using-visual.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CU8AQHg7eSp7ImA9Wx9SFEg.&quot;"><id>tag:blogger.com,1999:blog-796810736348108756.post-8162868322158974793</id><published>2010-12-04T17:03:00.003+08:00</published><updated>2010-12-04T17:10:41.601+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-04T17:10:41.601+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Windows" /><category scheme="http://www.blogger.com/atom/ns#" term="Gadget" /><title>Windows Sidebar Gadget 初探</title><content type="html">本文以一個簡單的 Hello World 範例，描述如何開發及安裝、顯示一個基本的桌面小工具，原文網址為&lt;a href="http://msdn.microsoft.com/en-us/library/bb456468(VS.85).aspx"&gt;http://msdn.microsoft.com/en-us/library/bb456468(VS.85).aspx&lt;/a&gt;，因為我的英文程度有限，說不上是翻譯，頂多算是我的經驗分享，若有辭不達意的地方，請多多海涵或是前往原文處瀏覽原文。&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;簡介&lt;/li&gt;
&lt;li&gt;文件&lt;/li&gt;
&lt;li&gt;步驟&lt;/li&gt;
&lt;li&gt;範例&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
簡介&lt;/h3&gt;
桌面小工具 ( Gadget ) 是一個基於 HTML 和 Script 的輕量級應用程式，它可從各種來源取得資訊或功能服務，例如本機的應用程式和控制項、或者網站和網路服務。有設計網頁經驗的開發人員將會發現，開發桌面小工具的步驟會是您非常熟悉的。&lt;br /&gt;
&lt;h3&gt;
文件&lt;/h3&gt;
一個基本的桌面小工具只需包含以下二個文件：&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Gadget.xml&lt;/li&gt;
這是一份 XML 文件，內容為桌面小工具的一般設置及描述資訊&lt;br /&gt;
&lt;li&gt;&lt;em&gt;name&lt;/em&gt;.html&lt;/li&gt;
這是一份 HTML 文件，檔名必須和 Gadget.xml 內指定的相同，它的功用為設定此桌面小工具的外觀和核心功能&lt;/ol&gt;
注意：強力建議，所有用於桌面小工具的文字格式檔案都請使用 UTF-8 編碼格式存檔！&lt;br /&gt;
事實上，真正具有實際功能的桌面小工具內容並不只有以上二個檔案，這裡僅僅是示範一個最簡單的 Hello World 而已&lt;br /&gt;
&lt;h3&gt;
步驟&lt;/h3&gt;
一般來說，開發一個桌面小工具的步驟為：&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;將所有桌面小工具需用到的文件放入一個開發用的資料夾&lt;/li&gt;
建議一個不錯的方法為，將這個資料夾的名稱加上副檔名.gadget 並和桌面小工具的名稱相同，例如本例即將要製作的桌面小工具名稱為 HelloWorld.gadget ，那麼資料夾的名稱也叫做 HelloWorld.gadget&lt;br /&gt;為了方便，這個開發用的資料夾最好是放在以下的其中一個目錄位址：&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;%USERPROFILE%\AppData\Local\Microsoft\Windows Sidebar\Gadgets\ ( 登入使用者 ) &lt;/li&gt;
&lt;li&gt;%SYSTEM_ROOT%\Program Files\Windows Sidebar\Gadgets\ ( 所有使用者) &lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/_ec1p8JsJSAg/TPoBwK5aDwI/AAAAAAAACZg/I-CQ_rBsF2s/s1600/pic1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="264" ox="true" src="http://3.bp.blogspot.com/_ec1p8JsJSAg/TPoBwK5aDwI/AAAAAAAACZg/I-CQ_rBsF2s/s640/pic1.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;li&gt;建立 Gadget.xml&lt;/li&gt;
例&lt;br /&gt;&lt;pre class="brush: xml;"&gt;  &amp;lt;?xml version="1.0" encoding="utf-8" ?&amp;gt;
 &amp;lt;gadget&amp;gt;
    &amp;lt;name&amp;gt;Hello World&amp;lt;/name&amp;gt;
    &amp;lt;version&amp;gt;1.0.0.0&amp;lt;/version&amp;gt;
    &amp;lt;hosts&amp;gt;
      &amp;lt;host name="sidebar"&amp;gt;
        &amp;lt;base type="HTML" apiVersion="1.0.0" src="HelloWorld.html" /&amp;gt;
        &amp;lt;permissions&amp;gt;Full&amp;lt;/permissions&amp;gt;
        &amp;lt;platform minPlatformVersion="1.0" /&amp;gt;
      &amp;lt;/host&amp;gt;
    &amp;lt;/hosts&amp;gt;
 &amp;lt;/gadget&amp;gt;&lt;/pre&gt;
&lt;li&gt;建立 &lt;em&gt;name&lt;/em&gt;.html ，&lt;em&gt;name&lt;/em&gt; 必須和 gadget.xml 中 src 設定的檔名相同，如上例就是 HelloWorld.html&lt;/li&gt;
例&lt;br /&gt;&lt;pre class="brush: xml;"&gt; 
&amp;lt;html&amp;gt;
  &amp;lt;head&amp;gt;
    &amp;lt;meta http-equiv="Content-Type" content="text/html;charset=Unicode" /&amp;gt;
  &amp;lt;/head&amp;gt;
    
  &amp;lt;body&amp;gt;
    &amp;lt;div id="gadgetContent"&amp;gt;
    &amp;lt;/div&amp;gt;
    &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/pre&gt;
&lt;li&gt;如果需要，可以把此桌面小工具先安裝起來&lt;/li&gt;
如果您的開發資料夾是位於之前建議的目錄下，那麼點擊&lt;strong&gt;開始&lt;/strong&gt;&amp;gt;&lt;strong&gt;所有程式&lt;/strong&gt;&amp;gt;&lt;strong&gt;桌面小工具庫&lt;/strong&gt;後，應該就可以看見 Hello World 這個桌面小工具&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/_ec1p8JsJSAg/TPoCSRYqybI/AAAAAAAACZk/_weO-f6mqRA/s1600/pic2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="202" ox="true" src="http://2.bp.blogspot.com/_ec1p8JsJSAg/TPoCSRYqybI/AAAAAAAACZk/_weO-f6mqRA/s400/pic2.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;li&gt;測試和修正&lt;/li&gt;
&lt;/ol&gt;
範例&lt;br /&gt;
以下就是本文的主角，HelloWorld 的範例，您可以使用任何您熟悉的編輯器編輯原始碼，在開發過程中，您可能會遇到被拒絕存取系統資料夾的提示，那麼在執行編輯器時請使用以系統管理員的身份執行此程式選項。&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;建立 HelloWorld.html&lt;/li&gt;
&lt;pre class="brush: xml;"&gt;&amp;lt;html xmlns="http://www.w3.org/1999/xhtml"&amp;gt;
 &amp;lt;head&amp;gt;
 &amp;lt;meta http-equiv="Content-Type" content="text/html; charset=Unicode" /&amp;gt;
  &amp;lt;title&amp;gt;Hello World&amp;lt;/title&amp;gt;
  &amp;lt;style type="text/css"&amp;gt;
  body
  {
   margin: 0;
   color:#FFF;
   width: 130px;
   height: 75px;
   font-family: verdana;
   font-weight: bold;
   font-size: 20px;
  }
  #gadgetContent
  {
   margin-top: 20px;
   width: 130px;
   vertical-align: middle;
   text-align: center;
   overflow: hidden;
  }
  &amp;lt;/style&amp;gt;
  &amp;lt;script type="text/jscript" language="jscript"&amp;gt;
   // Initialize the gadget.
   function init()
   {
    var oBackground = document.getElementById("imgBackground");
    oBackground.src = "url(images/background.png)";
   }
  &amp;lt;/script&amp;gt;
 &amp;lt;/head&amp;gt;
 
 &amp;lt;body onload="init()"&amp;gt;
  &amp;lt;g:background id="imgBackground"&amp;gt;
   &amp;lt;span id="gadgetContent"&amp;gt;Hello World!&amp;lt;/span&amp;gt;
        &amp;lt;/g:background&amp;gt;
    &amp;lt;/body&amp;gt;&lt;/pre&gt;
&lt;li&gt;新建一個子目錄名稱為 images&lt;/li&gt;
&lt;li&gt;製作一張寬至少為 130px X 高 75px 的背景圖，放到 images 目錄內，例：&lt;/li&gt;
&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/_ec1p8JsJSAg/TPoCwaJB1WI/AAAAAAAACZo/_RRo-CwVNO4/s1600/pic3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ox="true" src="http://2.bp.blogspot.com/_ec1p8JsJSAg/TPoCwaJB1WI/AAAAAAAACZo/_RRo-CwVNO4/s1600/pic3.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;li&gt;建立 gadget.xml&lt;/li&gt;
&lt;pre class="brush: xml;"&gt;&amp;lt;?xml version="1.0" encoding="utf-8" ?&amp;gt;
&amp;lt;gadget&amp;gt;
 &amp;lt;name&amp;gt;SDK Hello World&amp;lt;/name&amp;gt;
 &amp;lt;version&amp;gt;1.0.0.0&amp;lt;/version&amp;gt;
 &amp;lt;author name="Microsoft"&amp;gt;
 &amp;lt;info url="msdn.microsoft.com" /&amp;gt;
 &amp;lt;/author&amp;gt;
  
 &amp;lt;copyright&amp;gt;© Microsoft Corporation.&amp;lt;/copyright&amp;gt;
 &amp;lt;description&amp;gt;"HelloWorld" Sidebar gadget sample.&amp;lt;/description&amp;gt;
 &amp;lt;icons&amp;gt;
 &amp;lt;icon height="64" width="64" src="icon.png"/&amp;gt;
 &amp;lt;/icons&amp;gt;
 &amp;lt;hosts&amp;gt;
  &amp;lt;host name="sidebar"&amp;gt;
   &amp;lt;base type="HTML" apiVersion="1.0.0" src="HelloWorld.html" /&amp;gt;
   &amp;lt;permissions&amp;gt;Full&amp;lt;/permissions&amp;gt;
   &amp;lt;platform minPlatformVersion="1.0" /&amp;gt;
  &amp;lt;/host&amp;gt;
 &amp;lt;/hosts&amp;gt;
 &amp;lt;/gadget&amp;gt;&lt;/pre&gt;
&lt;li&gt;製作桌面小工具的 Icon&lt;/li&gt;
建議的尺寸是 64 X 64，例：&lt;/ol&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/_ec1p8JsJSAg/TPoDI36oprI/AAAAAAAACZs/DOsyE2AJMd0/s1600/icon.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ox="true" src="http://1.bp.blogspot.com/_ec1p8JsJSAg/TPoDI36oprI/AAAAAAAACZs/DOsyE2AJMd0/s1600/icon.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
完成後，再開啟桌面小工具庫，就可以看到我們的範例完成了&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/_ec1p8JsJSAg/TPoDZ3QbKAI/AAAAAAAACZw/Nemgxt2GR9Q/s1600/pic4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="323" ox="true" src="http://2.bp.blogspot.com/_ec1p8JsJSAg/TPoDZ3QbKAI/AAAAAAAACZw/Nemgxt2GR9Q/s640/pic4.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
將它新增，看看效果如何&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/_ec1p8JsJSAg/TPoDnAlIUjI/AAAAAAAACZ0/_YRayO_UGoA/s1600/pic5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ox="true" src="http://1.bp.blogspot.com/_ec1p8JsJSAg/TPoDnAlIUjI/AAAAAAAACZ0/_YRayO_UGoA/s1600/pic5.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/796810736348108756-8162868322158974793?l=webhd01.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/2CpO_UE08nQzKWczWpYsE3dQiOU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2CpO_UE08nQzKWczWpYsE3dQiOU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/2CpO_UE08nQzKWczWpYsE3dQiOU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2CpO_UE08nQzKWczWpYsE3dQiOU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/QWfOQU/~4/Lp76P_-Opn8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://webhd01.blogspot.com/feeds/8162868322158974793/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://webhd01.blogspot.com/2010/12/windows-sidebar-gadget.html#comment-form" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/796810736348108756/posts/default/8162868322158974793?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/796810736348108756/posts/default/8162868322158974793?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/QWfOQU/~3/Lp76P_-Opn8/windows-sidebar-gadget.html" title="Windows Sidebar Gadget 初探" /><author><name>Kalvin</name><uri>http://www.blogger.com/profile/01840266551993498978</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/_ec1p8JsJSAg/TIrsPWCAS6I/AAAAAAAACG8/wWMJDGq7uFw/s1600/aboutme.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_ec1p8JsJSAg/TPoBwK5aDwI/AAAAAAAACZg/I-CQ_rBsF2s/s72-c/pic1.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://webhd01.blogspot.com/2010/12/windows-sidebar-gadget.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkUMSXw-fCp7ImA9Wx9REEU.&quot;"><id>tag:blogger.com,1999:blog-796810736348108756.post-5903103143885954782</id><published>2010-10-18T01:17:00.005+08:00</published><updated>2010-12-12T01:24:48.254+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-12T01:24:48.254+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Boot Loader" /><title>自製可多重開機USB隨身碟-中級版</title><content type="html">如果您參考過我之前的&lt;a href="http://webhd01.blogspot.com/2010/10/custom-bootable-tools-usb-basic.html"&gt;自製可多重開機USB隨身碟-基本版&lt;/a&gt;並且製作成功的話，那麼先恭喜您，對於 Grub4dos 的操作您自然是了然於胸了，但是....但是，總是有些人會有自己的想法，總是喜歡和別人不一樣，這我能理解，因為，我身邊就是有著這麼一群朋友....&lt;br /&gt;
&lt;br /&gt;
有個朋友，參考我的文章後，拿著一支隨身碟跑到我這來，叫我試，我測試了一下，很好啊，沒啥問題啊，沒想到他老兄居然提出了這麼個要求，「我想在別人的電腦上看不到關於Grub4dos 和其它工具，在檔案總管內顯示的就只是一般隨身碟，可以嗎？」( &lt;span style="color: red;"&gt;其實他的原問不是這樣的，弄了半天我才搞懂他的意思並且用上面那句話形容&lt;/span&gt; )，我研究了一下，用下面的圖解釋，確定是他要求的功能，這篇文章就算是因他而起的吧，因此而延伸的文章還有&lt;a href="http://webhd01.blogspot.com/2010/10/how-to-partiton-usb-flash-stick.html"&gt;如何對 USB 隨身碟分割磁區&lt;/a&gt;....真累~&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;a href="http://1.bp.blogspot.com/_ec1p8JsJSAg/TLrbkX7HR4I/AAAAAAAACO4/VUsS_i6lZ-Y/s1600/pic1.jpg"&gt;&lt;img border="0" ex="true" height="331" src="http://1.bp.blogspot.com/_ec1p8JsJSAg/TLrbkX7HR4I/AAAAAAAACO4/VUsS_i6lZ-Y/s640/pic1.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
我朋友的要求如圖，我在 Windows XP Mode 工作狀態下分割了一顆隨身碟，分別是 &lt;br /&gt;
&lt;pre class="txt"&gt;(E：)DATA
(F：)BOOT
&lt;/pre&gt;
在(F：)BOOT內裝載了我的USB工具碟，也就是&lt;a href="http://webhd01.blogspot.com/2010/10/custom-bootable-tools-usb-basic.html"&gt;自製可多重開機USB隨身碟-基本版&lt;/a&gt;的成果，至於為什麼是裝在 (F) 而不是裝在 (E)？那是因為 Windows 只認得USB隨身碟的第一個磁區，為了達成類似隱藏磁區的效果，所以我把它裝在 (F)，也就是第二個磁區內。&lt;br /&gt;
&lt;br /&gt;
現在把這顆隨身碟插到另一台電腦上，您可以從上圖看到，在檔案總管內就只能看到 (G：)DATA了，其實我還是搞不懂他為何想要這麼做，看得到看不到有什麼差別嗎？算了，不能理解，有興趣的朋友就再往下看吧。&lt;br /&gt;
&lt;br /&gt;
要達成這項功能，您必須先想辦法分割您的USB隨身碟，我知道有些廠牌的隨身碟有此功能，有些則沒有，如果這方面您沒輒的話，就請您參考我之前的文章&lt;a href="http://webhd01.blogspot.com/2010/10/how-to-partiton-usb-flash-stick.html"&gt;如何對 USB 隨身碟分割磁區&lt;/a&gt;，先搞定這部份再說。&lt;br /&gt;
&lt;br /&gt;
隨身碟分割完成後，現在您需要使用 grubinst_gui.exe 這個圖形化工具來將 Grub4dos 安裝到隨身碟的 MBR 內&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/_ec1p8JsJSAg/TLrj-3ASGWI/AAAAAAAACO8/6Axm7t7F2Us/s1600/pic2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ex="true" height="400" src="http://2.bp.blogspot.com/_ec1p8JsJSAg/TLrj-3ASGWI/AAAAAAAACO8/6Axm7t7F2Us/s400/pic2.png" width="248" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
由於之前我們已經成功的製作好了完整的工作碟， 現在並不需要大量的測試及讀寫隨身碟，只是將它重新安裝而已，所以我們直接對USB隨身碟做操作，grubinst_gui.exe 的選項為：&lt;br /&gt;
&lt;br /&gt;
Disk：選擇您的 USB隨身碟&lt;br /&gt;
Part List：選擇 Whole disk (MBR) 若看不到，請點選 Refresh&lt;br /&gt;
&lt;br /&gt;
接下來，要將原先工作碟的內容複製到這顆分割好的USB隨身碟內，如果您參考&lt;a href="http://webhd01.blogspot.com/2010/10/custom-bootable-tools-usb-basic.html"&gt;自製可多重開機USB隨身碟-基本版&lt;/a&gt;的成品還在的話，那就把TOOLS目錄整個複製到這顆隨身碟的第二個磁區內，在本例中就是(F：)BOOT。&lt;br /&gt;
&lt;br /&gt;
然後在同一個磁區內建立一個目錄 grub，把原本 grub 目錄下的 HZK16F 和 splash.xpm.gz 複製到這個目錄內。&lt;br /&gt;
&lt;br /&gt;
接下來，請複製以下檔案到 (F：)BOOT 根目錄下&lt;br /&gt;
&lt;pre class="txt"&gt;grub4dos-0.4.4\chinese\grldr
grub4dos-0.4.4\grubmenu.exe
原先已編輯好的 menu.lst&lt;/pre&gt;
然後，開啟命令列，進到(F：)BOOT 根目錄內，執行以下命令：&lt;br /&gt;
&lt;pre class="txt"&gt;grubmenu import grldr menu.lst&lt;/pre&gt;
刪除 menu.lst 和 grubmenu.exe，使用 QEMU 測試，QEMU 摸擬直接以 USB 開機的命令如下：&lt;br /&gt;
&lt;pre class="txt"&gt;qemu -L "C:\qemu\bios" -hda //./PhysicalDrive&lt;span style="color: red;"&gt;1&lt;/span&gt;&lt;/pre&gt;
&lt;span style="color: red;"&gt;1&lt;/span&gt;是因為我的系統上只有二顆硬碟，0是主要硬碟，1就是USB隨身碟，請視實際修改&lt;br /&gt;
&lt;br /&gt;
如果以上步驟都正確，那麼 QEMU 內就可看到您的成果了。&lt;br /&gt;
&lt;br /&gt;
這篇文章是假設您已經按照&lt;a href="http://webhd01.blogspot.com/2010/10/custom-bootable-tools-usb-basic.html"&gt;自製可多重開機USB隨身碟-基本版&lt;/a&gt;製作成功後的更新版，所以以上所有使用的工具及檔案在原來的工具包內都可以找到。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/796810736348108756-5903103143885954782?l=webhd01.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/nMswFuDLMu3SqumL8GxyLUrQ2os/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/nMswFuDLMu3SqumL8GxyLUrQ2os/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/nMswFuDLMu3SqumL8GxyLUrQ2os/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/nMswFuDLMu3SqumL8GxyLUrQ2os/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/QWfOQU/~4/38Y4bcFVVp0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://webhd01.blogspot.com/feeds/5903103143885954782/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://webhd01.blogspot.com/2010/10/custom-bootable-tools-usb-middle-level.html#comment-form" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/796810736348108756/posts/default/5903103143885954782?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/796810736348108756/posts/default/5903103143885954782?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/QWfOQU/~3/38Y4bcFVVp0/custom-bootable-tools-usb-middle-level.html" title="自製可多重開機USB隨身碟-中級版" /><author><name>Kalvin</name><uri>http://www.blogger.com/profile/01840266551993498978</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/_ec1p8JsJSAg/TIrsPWCAS6I/AAAAAAAACG8/wWMJDGq7uFw/s1600/aboutme.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_ec1p8JsJSAg/TLrbkX7HR4I/AAAAAAAACO4/VUsS_i6lZ-Y/s72-c/pic1.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://webhd01.blogspot.com/2010/10/custom-bootable-tools-usb-middle-level.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkAGSXY5cSp7ImA9Wx9REEs.&quot;"><id>tag:blogger.com,1999:blog-796810736348108756.post-552205223119836533</id><published>2010-10-17T19:56:00.003+08:00</published><updated>2010-12-11T19:58:48.829+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-11T19:58:48.829+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="電腦硬體" /><title>如何對 USB 隨身碟分割磁區</title><content type="html">一般來說，除了特定廠商使用自家的USB隨身碟工具安裝驅動程式以外，USB 隨身碟是無法在上面分割磁區的，講白話就是假如您有一顆128MB的隨身碟，在 Windows 裡格式化後，它就是 128MB，並沒有辦法將它切割成二個64MB的可使用磁區。我們先來看一下，在 Windows 裡的磁碟管理工具對 USB 隨身碟的描述。&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/_ec1p8JsJSAg/TLq0Ga-g48I/AAAAAAAACNk/Q2xFdViTYfg/s1600/pin-0_1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ex="true" height="305" src="http://3.bp.blogspot.com/_ec1p8JsJSAg/TLq0Ga-g48I/AAAAAAAACNk/Q2xFdViTYfg/s400/pin-0_1.jpg" width="400" /&gt;&lt;/a&gt; &lt;/div&gt;
&lt;div style="text-align: center;"&gt;
圖A &lt;/div&gt;
&lt;br /&gt;
在圖A中，磁碟 1 底下顯示的是&lt;strong&gt;卸除式&lt;/strong&gt;，在這種情形下，是不能對這顆 USB 隨身碟做分割的，那在什麼情形下才可以對 USB 隨身碟做磁區分割呢？現在再來看看下圖。&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/_ec1p8JsJSAg/TLq3fJlK3II/AAAAAAAACNo/NwHDxHf5wDQ/s1600/pin-0_2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ex="true" height="290" src="http://1.bp.blogspot.com/_ec1p8JsJSAg/TLq3fJlK3II/AAAAAAAACNo/NwHDxHf5wDQ/s400/pin-0_2.jpg" width="400" /&gt;&lt;/a&gt; &lt;/div&gt;
&lt;div style="text-align: center;"&gt;
圖B &lt;/div&gt;
&lt;br /&gt;
看到圖B中磁碟 1下方顯示的是什麼了嗎？是&lt;strong&gt;基本&lt;/strong&gt;，圖A和圖B的差異很明顯吧，在這種情況下才能對 USB 隨身碟做磁碟分區的。&lt;br /&gt;
&lt;br /&gt;
USB 隨身碟不行分割磁區，那為什麼 USB 硬碟外接盒就可以分割磁區呢？我不是學硬體的，詳細的原因我並沒有辦法解釋清楚，但是從 Google 搜尋的結果，倒是有個方法可以讓您從 USB 隨身碟的驅動程式下手修改，繼而對 USB 隨身碟做磁區分割，原文可以看這裡：&lt;br /&gt;
&lt;a href="http://www.uwe-sieber.de/usbtrouble_e.html#partitioning"&gt;http://www.uwe-sieber.de/usbtrouble_e.html#partitioning&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
因為剛好有此需求，我照原作者的方法試了一遍，發現的確可行，因此就發這篇文來分享給各位，另外原作者有提到，如果您的 USB 隨身碟剛好是某些廠牌型號的話，可以不用操作以下步驟，直接使用 lexar bootit 工具即可，但是如果您和我一樣，是無法使用這個工具的朋友，那只好往下看下去囉。&lt;br /&gt;
&lt;br /&gt;
首先您必須準備一個驅動程式 xpfildrvr1224_320.zip，我將它和 lexar bootit 一同打包，您可以從&lt;a href="http://freakshare.com/files/ru7bdh4g/booit.rar.html"&gt;這裡下載&lt;/a&gt;，也可以單獨從原作者網頁處下載，解壓縮後的內容為：&lt;br /&gt;
&lt;pre class="txt"&gt;cfadisk.c
cfadisk.inf
cfadisk.rc
cfadisk.sys
makefile
sources
&lt;/pre&gt;
接下來要做的是，打開裝置管理員 (&amp;nbsp;在執行處輸入 mmc devmgmt.msc 按下確定即可 )&amp;nbsp;，在&lt;strong&gt;磁碟機&lt;/strong&gt;下找到您的隨身碟&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/_ec1p8JsJSAg/TLq8-TyuSoI/AAAAAAAACNs/ncKqkTuibPA/s1600/pic1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ex="true" height="280" src="http://2.bp.blogspot.com/_ec1p8JsJSAg/TLq8-TyuSoI/AAAAAAAACNs/ncKqkTuibPA/s400/pic1.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
點擊您的隨身碟後，按滑鼠右鍵點擊&lt;strong&gt;內容&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/_ec1p8JsJSAg/TLq9_2kxGnI/AAAAAAAACNw/Ge1tN2p1Peg/s1600/pic2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ex="true" height="280" src="http://4.bp.blogspot.com/_ec1p8JsJSAg/TLq9_2kxGnI/AAAAAAAACNw/Ge1tN2p1Peg/s400/pic2.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
在內容頁面選取&lt;strong&gt;詳細資料&lt;/strong&gt;頁籤，底下的裝置例項識別碼內容是我們要先取得的資訊，您可以使用 Ctrl+C 複製它，例如我的隨身碟是：&lt;br /&gt;
&lt;pre class="txt"&gt;&lt;strong&gt;USBSTOR\DISK&amp;amp;VEN_GENERIC&amp;amp;PROD_STORAGE_DEVICE&amp;amp;REV_0026&lt;/strong&gt;\0000024823&amp;amp;0&lt;/pre&gt;
但是我們待會只需要使用粗體字的部份即可&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/_ec1p8JsJSAg/TLq-dTS154I/AAAAAAAACN0/FGz5ncF3gRo/s1600/pic3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ex="true" height="400" src="http://2.bp.blogspot.com/_ec1p8JsJSAg/TLq-dTS154I/AAAAAAAACN0/FGz5ncF3gRo/s400/pic3.png" width="387" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
然後用記事本開啟剛剛解壓的 cfadisk.inf ，找到 [cfadisk_device] 區段，加入以下內容：&lt;br /&gt;
&lt;pre class="txt"&gt;%Microdrive_devdesc% =&lt;strong&gt;USBSTOR\DISK&amp;amp;VEN_GENERIC&amp;amp;PROD_STORAGE_DEVICE&amp;amp;REV_0026&lt;/strong&gt;&lt;/pre&gt;
粗體字部份請改成您實際的字串，存檔，修改驅動程式內容的部份完成，再來我們就要重新安裝 USB 隨身碟的驅動程式了。&lt;br /&gt;
&lt;br /&gt;
再開啟裝置管理員，找到您的隨身碟後，按右鍵點擊&lt;strong&gt;更新驅動程式&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/_ec1p8JsJSAg/TLrFR2qMK4I/AAAAAAAACN4/mAXLyNelYCE/s1600/pic4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ex="true" height="280" src="http://3.bp.blogspot.com/_ec1p8JsJSAg/TLrFR2qMK4I/AAAAAAAACN4/mAXLyNelYCE/s400/pic4.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
在精靈頁面的第一頁選&lt;strong&gt;不，現在不要&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/_ec1p8JsJSAg/TLrFk_DlcpI/AAAAAAAACN8/0c_7vTd3HJY/s1600/pic5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ex="true" height="291" src="http://1.bp.blogspot.com/_ec1p8JsJSAg/TLrFk_DlcpI/AAAAAAAACN8/0c_7vTd3HJY/s400/pic5.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
下一步選擇從&lt;strong&gt;清單或特定位置安裝&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/_ec1p8JsJSAg/TLrF5431oiI/AAAAAAAACOA/IBA5Ej3qn5I/s1600/pic6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ex="true" height="291" src="http://1.bp.blogspot.com/_ec1p8JsJSAg/TLrF5431oiI/AAAAAAAACOA/IBA5Ej3qn5I/s400/pic6.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
下一步選擇&lt;strong&gt;不要搜尋，我將選擇要安裝的驅動程式&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/_ec1p8JsJSAg/TLrGaOcD-qI/AAAAAAAACOE/VQ91BQ8wbWY/s1600/pic7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ex="true" height="291" src="http://1.bp.blogspot.com/_ec1p8JsJSAg/TLrGaOcD-qI/AAAAAAAACOE/VQ91BQ8wbWY/s400/pic7.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
下一步請點擊&lt;strong&gt;從磁片安裝&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/_ec1p8JsJSAg/TLrJxryjQAI/AAAAAAAACOg/A33V29K1TAs/s1600/pic8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ex="true" height="291" src="http://4.bp.blogspot.com/_ec1p8JsJSAg/TLrJxryjQAI/AAAAAAAACOg/A33V29K1TAs/s400/pic8.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
選取解壓縮 xpfildrvr1224_320.zip 的目錄後，選取 &lt;strong&gt;cfadisk.inf&lt;/strong&gt; 再點擊&lt;strong&gt;開啟&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/_ec1p8JsJSAg/TLrLse31afI/AAAAAAAACOk/vB7cyBWSQLQ/s1600/pic9_1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ex="true" height="275" src="http://3.bp.blogspot.com/_ec1p8JsJSAg/TLrLse31afI/AAAAAAAACOk/vB7cyBWSQLQ/s400/pic9_1.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
點選 &lt;strong&gt;Hitachi Microdrive&lt;/strong&gt; 後點&lt;strong&gt;下一步&lt;/strong&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/_ec1p8JsJSAg/TLrMG75ojyI/AAAAAAAACOs/rc6zJrHQNEM/s1600/pic9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ex="true" height="291" src="http://4.bp.blogspot.com/_ec1p8JsJSAg/TLrMG75ojyI/AAAAAAAACOs/rc6zJrHQNEM/s400/pic9.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
接下來會跳出一個警告訊息，不用理它，就點擊&lt;strong&gt;是&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/_ec1p8JsJSAg/TLrMrLG4k_I/AAAAAAAACOw/EcxAQJqXLaU/s1600/pic10.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ex="true" height="71" src="http://2.bp.blogspot.com/_ec1p8JsJSAg/TLrMrLG4k_I/AAAAAAAACOw/EcxAQJqXLaU/s400/pic10.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
還有一個警告訊息也請點選&lt;strong&gt;繼續安裝&lt;/strong&gt;，完裝完成後，就可以使用磁碟管理工具對 USB 隨身碟做磁區分割了，成果如下：&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/_ec1p8JsJSAg/TLrNkWdH4lI/AAAAAAAACO0/jq6Hi5dAH2c/s1600/pin+0_3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ex="true" height="225" src="http://4.bp.blogspot.com/_ec1p8JsJSAg/TLrNkWdH4lI/AAAAAAAACO0/jq6Hi5dAH2c/s400/pin+0_3.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;span style="color: red;"&gt;PS.如果要回復之前的狀態，只要再更新驅動程式一次，並選擇自動安裝即可&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/796810736348108756-552205223119836533?l=webhd01.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/SnK0KG8sJ3VCz4jJRHE6FM7LQZg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SnK0KG8sJ3VCz4jJRHE6FM7LQZg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/SnK0KG8sJ3VCz4jJRHE6FM7LQZg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SnK0KG8sJ3VCz4jJRHE6FM7LQZg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/QWfOQU/~4/u6_j_4hreRc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://webhd01.blogspot.com/feeds/552205223119836533/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://webhd01.blogspot.com/2010/10/how-to-partiton-usb-flash-stick.html#comment-form" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/796810736348108756/posts/default/552205223119836533?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/796810736348108756/posts/default/552205223119836533?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/QWfOQU/~3/u6_j_4hreRc/how-to-partiton-usb-flash-stick.html" title="如何對 USB 隨身碟分割磁區" /><author><name>Kalvin</name><uri>http://www.blogger.com/profile/01840266551993498978</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/_ec1p8JsJSAg/TIrsPWCAS6I/AAAAAAAACG8/wWMJDGq7uFw/s1600/aboutme.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_ec1p8JsJSAg/TLq0Ga-g48I/AAAAAAAACNk/Q2xFdViTYfg/s72-c/pin-0_1.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://webhd01.blogspot.com/2010/10/how-to-partiton-usb-flash-stick.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkQERn87eyp7ImA9WhdUGU0.&quot;"><id>tag:blogger.com,1999:blog-796810736348108756.post-2854772394044230947</id><published>2010-10-17T19:45:00.003+08:00</published><updated>2011-10-06T20:31:47.103+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-06T20:31:47.103+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Boot Loader" /><title>自製可多重開機USB隨身碟-基本版</title><content type="html">如何自製可多重開機的USB隨身碟?其實這類的文章在網路上已經多到泛濫，但大多是需具備一點專業的知識，不然就是教學文件缺乏有系統的整理，使得非科班或非業界的使用者並不容易完成此項工作，事實上，個人也覺得一般使用者並不需要自製這類的工具碟，因為您並不會常常做修復電腦或是測試的工作吧？但不可否認的，還是會有需要的人，所以才會有這篇文章的誕生，是吧... &lt;br /&gt;
&lt;br /&gt;
先說明，以下的操作步驟是在我的作業環境中(Windows 7+Windows XP Mode)使用，因此有些動作是我個人認為較安全及便利的動作，或許和您之前看到的教學文件有所出入，但沒關係，我保證依照我的步驟按圖索驥絕對可以成功的，另外步驟中所有使用到的工具程式網路上都很容易找到，但為方便起見，我將它們全部&lt;a href="http://freakshare.com/files/k6n0fqkd/Toobox-USB.rar.html"&gt;打包在此&lt;/a&gt;，請放心服用。 接下來，我們就開始著手進行吧... &lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: red;"&gt;&lt;strong&gt;Grub4dos 可以安裝在 MBR，也可以安裝在磁碟分區當做是 DOS 應用程式來啟動，本文是以後者為示範&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;Step 1 準備一支隨身碟並進行格式化&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_ec1p8JsJSAg/TLkxFedsMpI/AAAAAAAACMM/n4at13AC2d0/s1600/pic-1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ex="true" height="400" src="http://3.bp.blogspot.com/_ec1p8JsJSAg/TLkxFedsMpI/AAAAAAAACMM/n4at13AC2d0/s400/pic-1.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;我使用的是一支將近五年的128MB SanDisk cruzer mini隨身碟，先使用HPUSBFW進行格式化，當然啦，如果您有重要資料在上面的話，請先進行備份，底下是參數選項&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;檔案系統&lt;/strong&gt;：請選擇 FAT32 (FAT32 &amp;amp; FAT的差異這裡不討論)&lt;br /&gt;
&lt;strong&gt;磁碟區標籤&lt;/strong&gt;：依您喜好自行輸入，我的則是TOOLBOX&lt;br /&gt;
&lt;strong&gt;建立一個DOS啟動碟&lt;/strong&gt;：請選擇內附的 HPUSBFW-DOS&lt;br /&gt;
&lt;br /&gt;
完成後，在您的隨身碟內可見到如下三個檔案(先將檔案總管內的&lt;strong&gt;隱藏保護的作業系統檔案&lt;/strong&gt;取消勾選才可見到副檔名為 SYS 的系統檔案)&lt;br /&gt;
&lt;pre class="txt"&gt;COMMAND.COM
IO.SYS
MSDOS.SYS
&lt;/pre&gt;&lt;span style="font-size: large;"&gt;Step 2 製作隨身碟影像檔&lt;/span&gt;&lt;br /&gt;
因為之後的操作步驟都會進行大量的讀寫動作，我不想在USB隨身碟上直接進行，因此必需做一份USB碟的影像檔方便操作，完成後就可拔除USB隨身碟。使用 USB Image Tool 進行操作&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_ec1p8JsJSAg/TLk09flQlgI/AAAAAAAACMk/kUNrhA0NIV0/s1600/pic-2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ex="true" height="318" src="http://3.bp.blogspot.com/_ec1p8JsJSAg/TLk09flQlgI/AAAAAAAACMk/kUNrhA0NIV0/s400/pic-2.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;選取您的USB隨身碟後，點擊 Backup，將USB隨身碟影像檔存檔，我的檔名為 USB.img&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;Step 3 測試影像檔&lt;/span&gt;&lt;br /&gt;
最方便易用的工具就是QEMU了，免安裝，下載完解壓縮即可使用&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_ec1p8JsJSAg/TLk4dKdNO0I/AAAAAAAACMo/-2K9cOR9IAg/s1600/pic-3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ex="true" height="237" src="http://2.bp.blogspot.com/_ec1p8JsJSAg/TLk4dKdNO0I/AAAAAAAACMo/-2K9cOR9IAg/s400/pic-3.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;為方便操作，我將 Qemu 放在 C:\ 根目錄下，然後將 Step 2 製作的 USB 影像檔複製一份到 C:\qemu 目錄下，開啟&lt;strong&gt;命令提示字元&lt;/strong&gt;，在 C:\qemu 目錄內執行以下命令：&lt;br /&gt;
&lt;pre class="txt"&gt;qemu -L "C:\qemu\bios" -hda usb.img&lt;/pre&gt;如能見到上圖，即表示 Step 1 到 Step 2 皆操作成功，此時也可在桌面上建立一個qemu命令的捷徑，這樣一來就可以不用每次測試都要到命令提示字元中去輸入指令了。&lt;br /&gt;
&lt;br /&gt;
值得一提的是，如果在 Step 1中您用的是自己的 Windows 98 開機片格式化USB隨身碟，在這個模擬開機的步驟中，可能會看到 Windows 98 開機的藍天白雲 Splash Screen，如果您不想看到它，可以將 MSDOS.SYS 的內容改成如下：&lt;br /&gt;
&lt;pre class="txt"&gt;[Options]
Logo=0
BootGUI=0&lt;/pre&gt;如果使用我的工具包則不用，因為我已經先改好了&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;Step 4 安裝 Grub4dos&lt;/span&gt;&lt;br /&gt;
Grub4dos 是一套主要由對岸所開發的啟動管理程式，詳細的介紹這裡不贅述，有興趣者可自行 google 。說是安裝，其實也不是什麼安裝動作，只要將下載來的 grub4dos 解壓縮，複製其中的 grub.exe 到隨身碟內，並修改 CONFIG.SYS 檔案內容即可，由於我們已將USB隨身碟製作成影像檔，因此我們需要 UltraISO 來進行操作&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_ec1p8JsJSAg/TLlCBXPdNjI/AAAAAAAACMs/TUgyDHbto7o/s1600/pic-4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ex="true" height="211" src="http://1.bp.blogspot.com/_ec1p8JsJSAg/TLlCBXPdNjI/AAAAAAAACMs/TUgyDHbto7o/s400/pic-4.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_ec1p8JsJSAg/TLlPiw7FbBI/AAAAAAAACM8/mwrt-QUOuUc/s1600/pic-5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ex="true" height="181" src="http://4.bp.blogspot.com/_ec1p8JsJSAg/TLlPiw7FbBI/AAAAAAAACM8/mwrt-QUOuUc/s400/pic-5.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;ol&gt;&lt;li&gt;在 UltraISO 中開啟USB隨身碟的影像檔&lt;/li&gt;
&lt;li&gt;在根目錄下建立一個 grub 目錄&lt;/li&gt;
&lt;li&gt;插入&amp;nbsp;grub.exe 到這個目錄內(如果您的開機選單需要使用中文，請插入 grub4dos-0.4.4 下 chinese 目錄內的 grub.exe及 HZK16F 字型檔)&lt;/li&gt;
&lt;li&gt;在桌面新增一個文字檔 config.sys，並加入下列內容後存檔：&lt;/li&gt;
&lt;pre class="txt"&gt;DEVICE=\grub\grub.exe&lt;/pre&gt;&lt;li&gt;將 config.sys 插入至影像檔的根目錄內並存檔&lt;/li&gt;
&lt;/ol&gt;&lt;span style="font-size: large;"&gt;Step&amp;nbsp;5 測試影像檔&lt;/span&gt;&lt;br /&gt;
為確認上一步是否成功，可以執行QEMU測試影像檔&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_ec1p8JsJSAg/TLlF2rOxoqI/AAAAAAAACM0/esvzm0L863M/s1600/pic-6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ex="true" height="237" src="http://4.bp.blogspot.com/_ec1p8JsJSAg/TLlF2rOxoqI/AAAAAAAACM0/esvzm0L863M/s400/pic-6.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;如果能看到如上圖GRUB提示符，即表示到目前為止步驟都正確，反之則檢查 Step 4的動作是否正確&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;Step 6 規畫需加入至工具碟內的工具程式&lt;/span&gt;&lt;br /&gt;
每個人的需求可能都不盡相同，您可視需要自行修改，我將我的工具碟規畫列出，以供參考：&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;SPFDISK 硬碟格式化工具&lt;/li&gt;
&lt;li&gt;Memtest86+ 記憶體檢測工具&lt;/li&gt;
&lt;li&gt;Ghost 系統備份還原工具&lt;/li&gt;
&lt;li&gt;Acronis True Image 系統備份還原工具&lt;/li&gt;
&lt;li&gt;Partition Magic 硬碟分區調整工具&lt;/li&gt;
&lt;/ol&gt;有些人認為，反正都是一些DOS工具，何必大費周章的建立一個多重開機環境，全部把它倒入一個可開機的USB碟內，需要哪個執行哪個，頂多建立一個批次檔選單不就好了？看完了我的工具程式清單後，您應該就可以晃然大悟了，Acronis True Image 開機片並不是在DOS下執行的程式，而是 Linux 核心，所以如果您的工具程式有類似的情形，或是有在玩PE系統的朋友，就勢必要使用啟動管理程式來做，才能在單一個USB隨身碟內集合這些工具。&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;Step 7 初步編輯 Grub4dos 的 menu.lst&lt;/span&gt;&lt;br /&gt;
Grub4dos 的開機流程內會需要一份檔案，名為 menu.lst，這份檔案內定義的就是您的開機選單及執行流程，在 grub4dos-0.4.4 內有一份範例，您可以用 Wordpad 開啟它，並另存一份純文字檔在桌面上再來使用Notepad修改。&lt;br /&gt;
&lt;br /&gt;
由於對Grub4dos的命令還不是很熟，所以這一步只是先設定好選單，每個選單項目執行的動作都是重新開機，底下是我的範例：&lt;br /&gt;
&lt;pre class="txt"&gt;fontfile /grub/HZK16F
timeout 30
default /default

title SPFDISK 楛极笢恅唳
&lt;span style="color: blue;"&gt;reboot&lt;/span&gt;

title Memtest86+
&lt;span style="color: blue;"&gt;reboot&lt;/span&gt;

title Ghost 11
&lt;span style="color: blue;"&gt;reboot&lt;/span&gt;

title Acronis True Image Home 2009
&lt;span style="color: blue;"&gt;reboot&lt;/span&gt;

title Partition Magic 8
&lt;span style="color: blue;"&gt;reboot&lt;/span&gt;

title Reboot 笭陔羲儂
&lt;span style="color: blue;"&gt;reboot&lt;/span&gt;

title Halt 壽儂
&lt;span style="color: blue;"&gt;halt&lt;/span&gt;
&lt;/pre&gt;至我撰文日止，Grun4dos 的官方穩定版本為 0.4.4 ，這個版本是不支援 Unicode 的，0.4.5 測試版則可以使用 Unicode，但在發布前，我們還是得用舊方法處理繁體中文的選單。先用繁體中文編輯 menu.lst，編碼格式為 ANSI (即預設)，再使用任何您慣用的轉換程式將 menu.lst 轉換成ANSI格式的簡體中文，或是您可以複製編緝好的 menu.lst 內容，貼到這個網站去轉換&lt;a href="http://www.j4.com.tw/big-gb/"&gt;http://www.j4.com.tw/big-gb/&lt;/a&gt;，轉換選項請使用 CN GB，再複製回來存檔即可。&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_ec1p8JsJSAg/TLlZ2DGbcOI/AAAAAAAACNA/Jwa1RYTcW2s/s1600/pic-7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ex="true" height="300" src="http://1.bp.blogspot.com/_ec1p8JsJSAg/TLlZ2DGbcOI/AAAAAAAACNA/Jwa1RYTcW2s/s400/pic-7.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;處理好 menu.lst 之後，接下來把這份檔案插入至USB影像檔內的 grub 目錄之下，再執行 QEMU 測試影像檔，步驟正確的話您的開機選單應該可以出現在畫面中&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_ec1p8JsJSAg/TLm2L6sEm_I/AAAAAAAACNM/Cq7PRQ2qOA8/s1600/pic-8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ex="true" height="316" src="http://2.bp.blogspot.com/_ec1p8JsJSAg/TLm2L6sEm_I/AAAAAAAACNM/Cq7PRQ2qOA8/s400/pic-8.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;試著執行各選項，動作應該都是重新開機才對&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;Step 8 準備各項工具的影像檔&lt;/span&gt;&lt;br /&gt;
網路上可以找到許多熱心網友製作的工具程式影像檔，您可以視需要下載，我的工具包內只提供列在我清單內的影像檔，其它不足的，則需要您自行製作或下載。&lt;br /&gt;
&lt;br /&gt;
下載回來的影像檔您可以先使用 QEMU 做測試，命令如下：&lt;br /&gt;
&lt;pre class="txt"&gt;qemu -L "C:\qemu\bios" -fda &lt;em&gt;&lt;strong&gt;filename&lt;/strong&gt;&lt;/em&gt;&lt;/pre&gt;例如您下載回來的影像檔是 spfdisk.ima，則執行命令就是&lt;br /&gt;
&lt;pre class="txt"&gt;qemu -L "C:\qemu\bios" -fda spfdisk.ima&lt;/pre&gt;&lt;span style="font-size: large;"&gt;Step 9 將各項工具程式影像檔插入 USB 隨身碟影像檔&lt;/span&gt;&lt;br /&gt;
如同 Step 4 安裝 Grub4dos 般，接下來的工作就是使用 UltraISO 編輯 USB 隨身碟影像檔，在USB 隨身碟影像檔內依照您的喜好將工具程式歸類建立目錄或是一股腦兒的全倒進去都可以，我個人是比較喜歡後者，把它們全部丟到一個名為 tools 的目錄下即可。&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_ec1p8JsJSAg/TLm2sMaXFGI/AAAAAAAACNQ/zj5r-X4OW6Q/s1600/pic-9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ex="true" height="218" src="http://1.bp.blogspot.com/_ec1p8JsJSAg/TLm2sMaXFGI/AAAAAAAACNQ/zj5r-X4OW6Q/s400/pic-9.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;上圖就是我 TOOLS 目錄內的所有檔案&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;Step 10 正式編輯 menu.lst 檔&lt;/span&gt;&lt;br /&gt;
將所需的各項工具程式影像檔都插入至 USB 隨身碟影像檔後，再來就是要開始編輯正式的 menu.lst 了，Grub4dos 命令非常多，有興趣研究者可至 &lt;a href="http://diddy.boot-land.net/grub4dos/Grub4dos.htm"&gt;http://diddy.boot-land.net/grub4dos/Grub4dos.htm&lt;/a&gt;&amp;nbsp;仔細研究，這裡只列出我的 menu.lst 內容供參考：&lt;br /&gt;
&lt;pre class="txt"&gt;fontfile /grub/HZK16F
timeout 30
default 0

title SPFDISK 楛极笢恅唳
&lt;span style="color: blue;"&gt;find --set-root /tools/spfdisk.ima&lt;/span&gt;
&lt;span style="color: blue;"&gt;map --mem /tools/spfdisk.ima (fd0)&lt;/span&gt;
&lt;span style="color: blue;"&gt;map --hook&lt;/span&gt;
&lt;span style="color: blue;"&gt;chainloader (fd0)+1&lt;/span&gt;
&lt;span style="color: blue;"&gt;rootnoverify (fd0)&lt;/span&gt;

title Memtest86+
&lt;span style="color: blue;"&gt;kernel /tools/memtestp.bin&lt;/span&gt;

title Ghost 11
&lt;span style="color: blue;"&gt;find --set-root /tools/ghost.ima&lt;/span&gt;
&lt;span style="color: blue;"&gt;map --mem /tools/ghost.ima (fd0)&lt;/span&gt;
&lt;span style="color: blue;"&gt;map --hook&lt;/span&gt;
&lt;span style="color: blue;"&gt;chainloader (fd0)+1&lt;/span&gt;
&lt;span style="color: blue;"&gt;rootnoverify (fd0)&lt;/span&gt;

title Acronis True Image Home 2009
&lt;span style="color: blue;"&gt;kernel /tools/kernel.dat quiet vga=789 ramdisk_size=54272&lt;/span&gt;
&lt;span style="color: blue;"&gt;initrd /tools/initrd&lt;/span&gt;

title Partition Magic 8
&lt;span style="color: blue;"&gt;find --set-root /tools/pq8dos.ima&lt;/span&gt;
&lt;span style="color: blue;"&gt;map --mem /tools/pq8dos.ima (fd0)&lt;/span&gt;
&lt;span style="color: blue;"&gt;map --hook&lt;/span&gt;
&lt;span style="color: blue;"&gt;chainloader (fd0)+1&lt;/span&gt;
&lt;span style="color: blue;"&gt;rootnoverify (fd0)&lt;/span&gt;

title Reboot 笭陔羲儂
&lt;span style="color: blue;"&gt;reboot&lt;/span&gt;

title Halt 壽儂
&lt;span style="color: blue;"&gt;halt&lt;/span&gt;
&lt;/pre&gt;將編輯好的 menu.lst 插入至 USB 隨身碟的 grub 目錄下，並存檔然後使用 QEMU 測試，若選單各項功能都正常，即表示到目前為止，所有的操作步驟都正確。&lt;br /&gt;
&lt;br /&gt;
ps.Memtest86+&amp;nbsp;無法在 QEMU 內測試，需在實體機器上進行測試&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;Step 11 將影像檔回存至 USB 隨身碟&lt;/span&gt;&lt;br /&gt;
接下來，我們要將 USB 隨身碟影像檔回存至 USB 隨身碟上，並進行實體機器的測試，開啟 USB Image Tool 後，選取您的隨身碟並點擊 Restore，選擇 USB.img 後即可開始回存的動作，回存完畢後就可在實體機器上進行測試了。&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_ec1p8JsJSAg/TLm79iGCsFI/AAAAAAAACNU/gac6RYWpcSA/s1600/pic-10.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ex="true" height="318" src="http://1.bp.blogspot.com/_ec1p8JsJSAg/TLm79iGCsFI/AAAAAAAACNU/gac6RYWpcSA/s400/pic-10.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;span style="font-size: large;"&gt;Step 12 進行美化動作&lt;/span&gt;&lt;br /&gt;
如果 Step 11 的測試皆正常無誤，而您又是個不挑剔的人，那麼就不需要再往下看，您的可開機 USB 工具碟已經完工，若想再將它修改的更有個性的人，請再繼續往下看。&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&lt;span style="color: #b45f06;"&gt;a.眼尖的人可能會發現，在開機的過程中會閃過一個畫面&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_ec1p8JsJSAg/TLnC_i0goTI/AAAAAAAACNY/XkBWEuI_BfQ/s1600/pic-11.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ex="true" height="265" src="http://3.bp.blogspot.com/_ec1p8JsJSAg/TLnC_i0goTI/AAAAAAAACNY/XkBWEuI_BfQ/s400/pic-11.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;會有這個畫面的原因，是因為 grub.exe 有個內建的選單，我們必需使用 grubmenu (在工具包內的&amp;nbsp;grub4dos-0.4.4 目錄中) 來對它進行修改，先從 UltraISO 中提出 grub.exe 到 C:\temp 下，把 grubmenu.exe 也複製到 C:\temp，開啟命令列進入 C:\temp 執行下列命令抽出 grub.exe 的內建選單：&lt;br /&gt;
&lt;pre class="txt"&gt;grubmenu export grub.exe grub.lst&lt;/pre&gt;開啟 grub.lst 可看到以下內容：&lt;br /&gt;
&lt;pre class="txt"&gt;pxe detect
configfile
default 0
timeout &lt;span style="color: red;"&gt;0&lt;/span&gt;
title find /menu.lst, /boot/grub/menu.lst, /grub/menu.lst
errorcheck off
configfile /menu.lst
configfile /boot/grub/menu.lst
configfile /grub/menu.lst
find --set-root --ignore-floppies --ignore-cd /menu.lst &amp;amp;&amp;amp; configfile /menu.lst
find --set-root --ignore-floppies --ignore-cd /boot/grub/menu.lst &amp;amp;&amp;amp; configfile /boot/grub/menu.lst
find --set-root --ignore-floppies --ignore-cd /grub/menu.lst &amp;amp;&amp;amp; configfile /grub/menu.lst
errorcheck on
commandline
title commandline
commandline
title reboot
reboot
title halt
halt
&lt;/pre&gt;基本上，我們可以只修改 timeout 的值即可，原本是 1，將它改為 0，其它的部份可以不用更動，如果有需要做子選單的朋友，則可以參考它呼叫子選單的方法，進行更個性化的選單配置。修改完成後，執行以下命令，將完成結果置入 grub.exe 內：&lt;br /&gt;
&lt;pre class="txt"&gt;grubmenu import grub.exe grub.lst&lt;/pre&gt;完成後再將 grub.exe&amp;nbsp;插入至 USB 隨身碟影像檔內 grub 目錄下即可&lt;br /&gt;
&lt;span style="color: #999999;"&gt;事實上我的做法是，根本就不要這份內建選單，直接把編輯好的menu.lst置入&lt;/span&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&lt;span style="color: #b45f06;"&gt;b.設置字體顏色&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_ec1p8JsJSAg/TLnSWnJG2iI/AAAAAAAACNc/wg12DKhQXbQ/s1600/pic-12.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ex="true" height="237" src="http://2.bp.blogspot.com/_ec1p8JsJSAg/TLnSWnJG2iI/AAAAAAAACNc/wg12DKhQXbQ/s400/pic-12.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style="color: red;"&gt;&lt;strong&gt;在不使用中文的情形下&lt;/strong&gt;&lt;/span&gt;，Grub4dos 可在 menu.lst 中使用 color 命令定義選單文字的顏色，它的格式如下：&lt;br /&gt;
&lt;br /&gt;
color&amp;nbsp;&lt;strong&gt;&lt;em&gt;選單區&lt;/em&gt;&amp;nbsp;&lt;em&gt;加亮區&lt;/em&gt;&amp;nbsp;&lt;em&gt;說明區&lt;/em&gt; &amp;nbsp;&lt;em&gt;頭部&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
每個區域內各需設置前景及背景色，所以總共要設置八個顏色，如上圖的顏色配置如下：&lt;br /&gt;
&lt;pre class="txt"&gt;color dark-gray/blue white/blue light-gray/blue light-red/blue&lt;/pre&gt;可以使用的顏色代碼如下：&lt;br /&gt;
背景色可用：black、red、green、brown、blue、magenta、cyan、light-gray&lt;br /&gt;
前景色可用：black、red、green、brown、blue、magenta、cyan、light-grayblack、red、green、brown、blue、magenta、cyan、light-graydark-gray、light-red、light-green、yellow、light-blue、light-magenta、light-cyan、white&lt;br /&gt;
&lt;br /&gt;
您可以在這個網頁內看到各種顏色搭配的組合 &lt;a href="http://grub4dos.sourceforge.net/wiki/index.php/Color_Matrix"&gt;http://grub4dos.sourceforge.net/wiki/index.php/Color_Matrix&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
color 命令需放置在第一個 title 之前，若有指定中文字型則無效&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&lt;span style="color: #b45f06;"&gt;c.設置背景圖片&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
Grub4dos 允許使用背景圖片，但必須符合以下格式：&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;圖片大小必須為 640X480&lt;/li&gt;
&lt;li&gt;圖片顏色深度最多為14色&lt;/li&gt;
&lt;li&gt;圖片格式必須為 .xpm 可用 gzip 壓縮&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_ec1p8JsJSAg/TLnsH9NjrmI/AAAAAAAACNg/rC_4Q5RndG4/s1600/pic-13.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ex="true" height="316" src="http://1.bp.blogspot.com/_ec1p8JsJSAg/TLnsH9NjrmI/AAAAAAAACNg/rC_4Q5RndG4/s400/pic-13.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;如果使用 splashimage 命令，color 命令會失效，splashimage 命令應搭配以下二個命令設置文字顏色&lt;br /&gt;
&lt;pre class="txt"&gt;foreground=RRGGBB
background=RRGGBB&lt;/pre&gt;如上圖例，我的 menu.lst 內容為&lt;br /&gt;
&lt;pre class="txt"&gt;splashimage=/grub/splash.xpm.gz

foreground=215C98
background=CAD2DA
.
.
&lt;/pre&gt;至於如何製作 Grub4dos 的背景圖，可先參閱官方網站 &lt;a href="http://diddy.boot-land.net/grub4dos/files/splash.htm"&gt;http://diddy.boot-land.net/grub4dos/files/splash.htm&lt;/a&gt;&amp;nbsp;的步驟，工具包內已含GIMP及convert&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://freakshare.com/files/dacwbn8l/Toobox-USB.rar.html"&gt;工具包載點&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/796810736348108756-2854772394044230947?l=webhd01.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/0T61-MIC1MnFshh9SW2Mn19sgCM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0T61-MIC1MnFshh9SW2Mn19sgCM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/0T61-MIC1MnFshh9SW2Mn19sgCM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0T61-MIC1MnFshh9SW2Mn19sgCM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/QWfOQU/~4/h1Oz9asRmhs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://webhd01.blogspot.com/feeds/2854772394044230947/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://webhd01.blogspot.com/2010/10/custom-bootable-tools-usb-basic.html#comment-form" title="8 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/796810736348108756/posts/default/2854772394044230947?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/796810736348108756/posts/default/2854772394044230947?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/QWfOQU/~3/h1Oz9asRmhs/custom-bootable-tools-usb-basic.html" title="自製可多重開機USB隨身碟-基本版" /><author><name>Kalvin</name><uri>http://www.blogger.com/profile/01840266551993498978</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/_ec1p8JsJSAg/TIrsPWCAS6I/AAAAAAAACG8/wWMJDGq7uFw/s1600/aboutme.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_ec1p8JsJSAg/TLkxFedsMpI/AAAAAAAACMM/n4at13AC2d0/s72-c/pic-1.png" height="72" width="72" /><thr:total>8</thr:total><feedburner:origLink>http://webhd01.blogspot.com/2010/10/custom-bootable-tools-usb-basic.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkMHQ3k6fip7ImA9Wx9SEko.&quot;"><id>tag:blogger.com,1999:blog-796810736348108756.post-6366260677605057792</id><published>2010-10-10T14:50:00.004+08:00</published><updated>2010-12-02T15:20:32.716+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-02T15:20:32.716+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Windows" /><title>Windows XP 免重灌關閉ACPI</title><content type="html">1.開啟&lt;span style="background-color: white; color: blue;"&gt;裝置管理員&lt;/span&gt;，將&lt;span style="color: blue;"&gt;電腦&lt;/span&gt;展開，選擇&lt;strong&gt;&lt;span style="color: red;"&gt;更新驅動程式&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/_ec1p8JsJSAg/TLFfcAi9-8I/AAAAAAAACLs/5I2iW1jKNxQ/s1600/sshot-1.png" imageanchor="1" margin-left: 1em;"&gt;&lt;img border="0" ex="true" height="456" src="http://2.bp.blogspot.com/_ec1p8JsJSAg/TLFfcAi9-8I/AAAAAAAACLs/5I2iW1jKNxQ/s640/sshot-1.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
2.在詢問 &lt;span style="color: blue;"&gt;Windows 是否可以連線到 Windows Update 尋找軟體&lt;/span&gt;時，選擇&lt;span style="color: red;"&gt;不，現在不要&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/_ec1p8JsJSAg/TLFgN875KkI/AAAAAAAACLw/NkbjNmrSGws/s1600/sshot-2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ex="true" src="http://1.bp.blogspot.com/_ec1p8JsJSAg/TLFgN875KkI/AAAAAAAACLw/NkbjNmrSGws/s1600/sshot-2.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
3.選擇&lt;span style="color: red;"&gt;從清單或特定位置安裝&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/_ec1p8JsJSAg/TLFg7CPEuNI/AAAAAAAACL0/DJjbX_NyTxA/s1600/sshot-3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ex="true" src="http://4.bp.blogspot.com/_ec1p8JsJSAg/TLFg7CPEuNI/AAAAAAAACL0/DJjbX_NyTxA/s1600/sshot-3.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
4.選擇&lt;span style="color: red;"&gt;不要搜尋，我將選擇要安裝的驅動程式&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/_ec1p8JsJSAg/TLFhK7dGpEI/AAAAAAAACL4/tUfee4Yibzs/s1600/sshot-4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ex="true" src="http://4.bp.blogspot.com/_ec1p8JsJSAg/TLFhK7dGpEI/AAAAAAAACL4/tUfee4Yibzs/s1600/sshot-4.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
5.選擇&lt;span style="color: red;"&gt;標準PC&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/_ec1p8JsJSAg/TLFhX6r5bDI/AAAAAAAACL8/YNjSq300nu8/s1600/sshot-5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ex="true" src="http://4.bp.blogspot.com/_ec1p8JsJSAg/TLFhX6r5bDI/AAAAAAAACL8/YNjSq300nu8/s1600/sshot-5.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;br /&gt;
6.完成後，重新開機，系統會自動做一次硬體變更掃描後即完成&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/_ec1p8JsJSAg/TLFhoBNhicI/AAAAAAAACMA/sLrTfYMuAz4/s1600/sshot-6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ex="true" src="http://4.bp.blogspot.com/_ec1p8JsJSAg/TLFhoBNhicI/AAAAAAAACMA/sLrTfYMuAz4/s1600/sshot-6.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/796810736348108756-6366260677605057792?l=webhd01.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/8F_6u4wbkFqyO1g2yPQaphOW-xQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/8F_6u4wbkFqyO1g2yPQaphOW-xQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/8F_6u4wbkFqyO1g2yPQaphOW-xQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/8F_6u4wbkFqyO1g2yPQaphOW-xQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/QWfOQU/~4/QkywxXpBjjQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://webhd01.blogspot.com/feeds/6366260677605057792/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://webhd01.blogspot.com/2010/10/windows-xp-acpi.html#comment-form" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/796810736348108756/posts/default/6366260677605057792?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/796810736348108756/posts/default/6366260677605057792?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/QWfOQU/~3/QkywxXpBjjQ/windows-xp-acpi.html" title="Windows XP 免重灌關閉ACPI" /><author><name>Kalvin</name><uri>http://www.blogger.com/profile/01840266551993498978</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/_ec1p8JsJSAg/TIrsPWCAS6I/AAAAAAAACG8/wWMJDGq7uFw/s1600/aboutme.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_ec1p8JsJSAg/TLFfcAi9-8I/AAAAAAAACLs/5I2iW1jKNxQ/s72-c/sshot-1.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://webhd01.blogspot.com/2010/10/windows-xp-acpi.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUMBRH85eCp7ImA9Wx5VFkQ.&quot;"><id>tag:blogger.com,1999:blog-796810736348108756.post-5074075896792793369</id><published>2010-10-08T14:55:00.005+08:00</published><updated>2010-10-10T14:50:55.120+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-10-10T14:50:55.120+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="障礙排除" /><title>Acronis True Image 11 還原失敗</title><content type="html">有朋友問我，為何他的電腦安裝了Acronis True Image 11 ，卻不能還原系統？&lt;br /&gt;
&lt;br /&gt;
這個問題實在是很含糊，電話裡問也問不清，我乾脆跑了一趟，當場看看還比較清楚，後來我覺得這個問題實在是很有趣，值得把它寫出來，供大家分享參考~&lt;br /&gt;
&lt;br /&gt;
我將友人的狀況再描述的清楚一點好了&lt;br /&gt;
&lt;br /&gt;
1.作業系統：Windows XP SP3&lt;br /&gt;
2.ATI 版本：Acronis True Image 11&lt;br /&gt;
3.已完整備份，備份檔案存於Acronis Secure Zone 內，驗證備份也無誤&lt;br /&gt;
4.在ATI中有啟動Acronis Startup Recovery Manager，開機時可以看見按F11的提示，可是，按下F11再選擇Acronis True Image時，螢幕卻呈現一片黑，直接當機。&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_ec1p8JsJSAg/TK7Cbs-XY6I/AAAAAAAACLQ/IdGAFzjkjik/s1600/acronis.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ex="true" height="239" src="http://1.bp.blogspot.com/_ec1p8JsJSAg/TK7Cbs-XY6I/AAAAAAAACLQ/IdGAFzjkjik/s320/acronis.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;5.使用ATI開機救援光碟，與上一點同....當機&lt;br /&gt;
6.在ATI內執行還原動作，重開機後和第4點一樣，也是畫面一片黑，當機....&lt;br /&gt;
&lt;br /&gt;
如果您也有以上的情形發生，您可以這樣做，進入BIOS內，找到ACPI的部份，如果看到ACPI APIC support 這個選項，就先把它Disable掉，等到還原完成後再Enable，&lt;span style="color: red;"&gt;一定要改回來，否則無法開機&lt;/span&gt;...&lt;br /&gt;
&lt;br /&gt;
那您可能也會問，如果每次還原都得要進BIOS改，還原後還得再進BIOS改回來，不僅麻煩，對於一些對電腦比較不熟悉的朋友來說，可能也不是什麼簡單的工作，有沒有一勞永逸的方法呢？安裝Windows前就將ACPI Disable？我沒試過，應該可行吧-_-a，不過還得要重灌...麻煩&lt;br /&gt;
&lt;br /&gt;
我這倒有個方法可以從Windows內關閉ACPI，有興趣的朋友可以試試，不過關閉ACPI後，它的一切功能就都無法使用嘍，想了解ACPI的朋友可以到這看看：&lt;br /&gt;
&lt;a href="http://zh.wikipedia.org/zh-tw/%E9%AB%98%E7%BA%A7%E9%85%8D%E7%BD%AE%E4%B8%8E%E7%94%B5%E6%BA%90%E6%8E%A5%E5%8F%A3"&gt;http://zh.wikipedia.org/zh-tw/%E9%AB%98%E7%BA%A7%E9%85%8D%E7%BD%AE%E4%B8%8E%E7%94%B5%E6%BA%90%E6%8E%A5%E5%8F%A3&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
免重新安裝作業系統，關閉ACPI：&lt;br /&gt;
&lt;a href="http://webhd01.blogspot.com/2010/10/windows-xp-acpi.html"&gt;http://webhd01.blogspot.com/2010/10/windows-xp-acpi.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/796810736348108756-5074075896792793369?l=webhd01.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Dvj3gr3fvi0nCRcO0Dx5nM82_ek/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Dvj3gr3fvi0nCRcO0Dx5nM82_ek/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Dvj3gr3fvi0nCRcO0Dx5nM82_ek/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Dvj3gr3fvi0nCRcO0Dx5nM82_ek/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/QWfOQU/~4/XrynyROy3LM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://webhd01.blogspot.com/feeds/5074075896792793369/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://webhd01.blogspot.com/2010/10/acronis-true-image-11.html#comment-form" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/796810736348108756/posts/default/5074075896792793369?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/796810736348108756/posts/default/5074075896792793369?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/QWfOQU/~3/XrynyROy3LM/acronis-true-image-11.html" title="Acronis True Image 11 還原失敗" /><author><name>Kalvin</name><uri>http://www.blogger.com/profile/01840266551993498978</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/_ec1p8JsJSAg/TIrsPWCAS6I/AAAAAAAACG8/wWMJDGq7uFw/s1600/aboutme.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_ec1p8JsJSAg/TK7Cbs-XY6I/AAAAAAAACLQ/IdGAFzjkjik/s72-c/acronis.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://webhd01.blogspot.com/2010/10/acronis-true-image-11.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk8CQHkzfyp7ImA9Wx5XGEQ.&quot;"><id>tag:blogger.com,1999:blog-796810736348108756.post-7377389575014883737</id><published>2010-09-19T16:57:00.002+08:00</published><updated>2010-09-19T19:14:21.787+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-19T19:14:21.787+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="短片欣賞" /><title>BMW The Hire Season 1 - The Follow</title><content type="html">&lt;div style="background: #000000; height: 272px; width: 440px;"&gt;&lt;embed allowfullscreen="true" allowscriptaccess="always" flashvars="playerVars=showStats=yes|autoPlay=no|videoTitle=BMW The Hire Season 1 - The Follow" height="272" name="Metacafe_5200874" pluginspage="http://www.macromedia.com/go/getflashplayer" src="http://www.metacafe.com/fplayer/5200874/bmw_the_hire_season_1_the_follow.swf" type="application/x-shockwave-flash" width="440" wmode="transparent"&gt;&lt;/embed&gt;&lt;/div&gt;&lt;div style="font-size: 12px;"&gt;&lt;a href="http://www.metacafe.com/watch/5200874/bmw_the_hire_season_1_the_follow/"&gt;BMW The Hire Season 1 - The Follow&lt;/a&gt; - &lt;a href="http://www.metacafe.com/"&gt;Watch the best video clips here&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
AVI 影片載點：&lt;a href="http://freakshare.net/files/22dr03hl/BMW_The-Follow.rar.html"&gt;http://freakshare.net/files/22dr03hl/BMW_The-Follow.rar.html&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/796810736348108756-7377389575014883737?l=webhd01.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/CP6PfGDNu3JjO7a6g8whIVwqQsU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CP6PfGDNu3JjO7a6g8whIVwqQsU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/CP6PfGDNu3JjO7a6g8whIVwqQsU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CP6PfGDNu3JjO7a6g8whIVwqQsU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/QWfOQU/~4/WtaoiGpNDNY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://webhd01.blogspot.com/feeds/7377389575014883737/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://webhd01.blogspot.com/2010/09/bmw-hire-season-1-follow.html#comment-form" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/796810736348108756/posts/default/7377389575014883737?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/796810736348108756/posts/default/7377389575014883737?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/QWfOQU/~3/WtaoiGpNDNY/bmw-hire-season-1-follow.html" title="BMW The Hire Season 1 - The Follow" /><author><name>Kalvin</name><uri>http://www.blogger.com/profile/01840266551993498978</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/_ec1p8JsJSAg/TIrsPWCAS6I/AAAAAAAACG8/wWMJDGq7uFw/s1600/aboutme.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://webhd01.blogspot.com/2010/09/bmw-hire-season-1-follow.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0MHSH04fSp7ImA9Wx5XGE8.&quot;"><id>tag:blogger.com,1999:blog-796810736348108756.post-9126597623451882294</id><published>2010-09-18T22:50:00.000+08:00</published><updated>2010-09-18T22:50:39.335+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-18T22:50:39.335+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="水族寵物" /><title>水族箱內的氮化合物循環 Nitrogen Cycle</title><content type="html">從小，我就很喜歡養魚，只是向來都是看見水"髒了"，就整缸水換掉。魚死了，就補魚進去，以致養死過很多無辜的生命，直到長大後，因緣際會下，朋友送了一套魚缸給我，我就又重新開始養起了魚，並且也開始研究比較正確的養魚態度。&lt;br /&gt;
&lt;br /&gt;
不管是淡水還是海水，對於水中生物的健康議題來說，最重要的當以水質為優先。在大自然的環境中，造物者巧妙的安排了許多的角色負責平衡生態，可是在小小的水族缸內，可就不完全是那麼一回事了。&lt;br /&gt;
&lt;br /&gt;
在水族界中，常常會聽到硝化環境的建立，什麼是硝化環境？其實簡單的說，就是能提供氮化合物循環的一套微生物生態環境。在空氣中，約有78%的體積是氮氣，它是生物細胞中蛋白質和核酸的基本成份，所有的生物都需要它，但是大多數的生物卻又不能從空氣中直接利用它，往往需透過複雜的食物鏈關係才能吸收利用。我不是學生物的，複雜的理論我也說不上來，不過僅就小小的水族缸，我還是將資料整理過後，用一幅簡單的圖來表示水族缸內的氮循環，希望能幫助水族界的新手做好水質的控制。&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_ec1p8JsJSAg/TJTGA_DY_lI/AAAAAAAACLA/lF3TogZqrrY/s1600/%E6%B0%B4%E6%97%8F%E6%B0%AE%E5%BE%AA%E7%92%B0.jpg" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" qx="true" src="http://2.bp.blogspot.com/_ec1p8JsJSAg/TJTGA_DY_lI/AAAAAAAACLA/lF3TogZqrrY/s640/%E6%B0%B4%E6%97%8F%E6%B0%AE%E5%BE%AA%E7%92%B0.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;span style="color: red;"&gt;&lt;strong&gt;在圖中標示紅色的NH3、NO2、NO3、N2，對於水中生物來說，都是有毒物質，全都是我們要控制及注意的地方。&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
一套水族缸內的氮循環可以用文字簡單的描述如下：&lt;br /&gt;
&lt;br /&gt;
1.有機物產生氨(NH3)：水族缸中的有機物包含了生物的排洩物、殘留的食物、生物屍體、枯萎的植物等。&lt;br /&gt;
&lt;br /&gt;
2.氨(NH3)會被亞硝酸菌分解為亞硝酸鹽(NO2)，這是硝化作用的第一步，那麼亞硝酸菌是從哪裡來的呢？在自來水中本來就會有極少量的硝化細菌存在，從水族館購買回來的底砂上也會附著，只是可能為數不多，不足以完全擔任水族缸內的硝化作用，因此才會有所謂的養水階段，以培養更多的硝化細菌，當然，也可以購買濃縮的硝化菌液，直接倒入水族缸內，可省去2~6週的養水期。&lt;br /&gt;
&lt;br /&gt;
3.亞硝酸鹽(NO2)再被硝酸菌分解為毒性較低的硝酸鹽(NO3)，這是硝化作用的第二步，硝酸鹽對於魚類來說，雖然是有毒物質，但對於水草來說，又是必要的養份，但濃度又不能過高，濃度過低不利水草生長，濃度過高則會影響魚類健康及導致藻類叢生，因此，有些人會購買硝酸鹽試劑來嚴格控制，因為我有種植水草，所以個人的做法是以每週換水1/2的方式來稀釋即可，如果沒種植水草，那麼也可改成每二天換水 1/3~1/5的方式。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/796810736348108756-9126597623451882294?l=webhd01.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/2a95XZ8uTJQ47-PlnfaAOOQwuv4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2a95XZ8uTJQ47-PlnfaAOOQwuv4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/2a95XZ8uTJQ47-PlnfaAOOQwuv4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2a95XZ8uTJQ47-PlnfaAOOQwuv4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/QWfOQU/~4/XmZIwoo1fA8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://webhd01.blogspot.com/feeds/9126597623451882294/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://webhd01.blogspot.com/2010/09/nitrogen-cycle.html#comment-form" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/796810736348108756/posts/default/9126597623451882294?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/796810736348108756/posts/default/9126597623451882294?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/QWfOQU/~3/XmZIwoo1fA8/nitrogen-cycle.html" title="水族箱內的氮化合物循環 Nitrogen Cycle" /><author><name>Kalvin</name><uri>http://www.blogger.com/profile/01840266551993498978</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/_ec1p8JsJSAg/TIrsPWCAS6I/AAAAAAAACG8/wWMJDGq7uFw/s1600/aboutme.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_ec1p8JsJSAg/TJTGA_DY_lI/AAAAAAAACLA/lF3TogZqrrY/s72-c/%E6%B0%B4%E6%97%8F%E6%B0%AE%E5%BE%AA%E7%92%B0.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://webhd01.blogspot.com/2010/09/nitrogen-cycle.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE8NQ3s-fip7ImA9Wx5XFU8.&quot;"><id>tag:blogger.com,1999:blog-796810736348108756.post-2680001227980170898</id><published>2010-09-15T07:04:00.002+08:00</published><updated>2010-09-15T13:01:32.556+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-15T13:01:32.556+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="短片欣賞" /><title>BMW The Hire Season 1-Chosen 選擇</title><content type="html">&lt;div style="background: #000000; height: 272px; width: 440px;"&gt;&lt;embed allowfullscreen="true" allowscriptaccess="always" flashvars="playerVars=showStats=yes|autoPlay=no|videoTitle=BMW The Hire Season 1 - Chosen" height="272" name="Metacafe_5197313" pluginspage="http://www.macromedia.com/go/getflashplayer" src="http://www.metacafe.com/fplayer/5197313/bmw_the_hire_season_1_chosen.swf" type="application/x-shockwave-flash" width="440" wmode="transparent"&gt;&lt;/embed&gt;&lt;/div&gt;&lt;div style="font-size: 12px;"&gt;&lt;a href="http://www.metacafe.com/watch/5197313/bmw_the_hire_season_1_chosen/"&gt;BMW The Hire Season 1 - Chosen&lt;/a&gt; - &lt;a href="http://www.metacafe.com/"&gt;Funny bloopers R us&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
AVI 影片檔下載：&lt;a href="http://freakshare.net/files/2zvx8t1z/BMW_Chosen.rar.html"&gt;http://freakshare.net/files/2zvx8t1z/BMW_Chosen.rar.html&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/796810736348108756-2680001227980170898?l=webhd01.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/d4liom6k7-pGDBkuFQQZJDO3VB0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/d4liom6k7-pGDBkuFQQZJDO3VB0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/d4liom6k7-pGDBkuFQQZJDO3VB0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/d4liom6k7-pGDBkuFQQZJDO3VB0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/QWfOQU/~4/QP724rTl3f4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://webhd01.blogspot.com/feeds/2680001227980170898/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://webhd01.blogspot.com/2010/09/bmw-film-chosen.html#comment-form" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/796810736348108756/posts/default/2680001227980170898?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/796810736348108756/posts/default/2680001227980170898?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/QWfOQU/~3/QP724rTl3f4/bmw-film-chosen.html" title="BMW The Hire Season 1-Chosen 選擇" /><author><name>Kalvin</name><uri>http://www.blogger.com/profile/01840266551993498978</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/_ec1p8JsJSAg/TIrsPWCAS6I/AAAAAAAACG8/wWMJDGq7uFw/s1600/aboutme.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://webhd01.blogspot.com/2010/09/bmw-film-chosen.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak8DQ34zeyp7ImA9Wx5XFEo.&quot;"><id>tag:blogger.com,1999:blog-796810736348108756.post-6856976049893002680</id><published>2010-09-14T22:57:00.001+08:00</published><updated>2010-09-14T23:41:12.083+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-14T23:41:12.083+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="短片欣賞" /><title>BMW The Hire Season 1-Ambush 埋伏</title><content type="html">&lt;div style="background: #000000; height: 272px; width: 440px;"&gt;&lt;embed allowfullscreen="true" allowscriptaccess="always" flashvars="" height="272" name="Metacafe_5185721" pluginspage="http://www.macromedia.com/go/getflashplayer" src="http://www.metacafe.com/fplayer/5185721/bmw_ambush.swf" type="application/x-shockwave-flash" width="440" wmode="transparent"&gt;&lt;/embed&gt;&lt;/div&gt;&lt;div style="font-size: 12px;"&gt;&lt;a href="http://www.metacafe.com/watch/5185721/bmw_ambush/"&gt;BMW Ambush&lt;/a&gt; - &lt;a href="http://www.metacafe.com/"&gt;Click here for the funniest movie of the week&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;AVI 影片下載點：&lt;a href="http://freakshare.net/files/7b82fi1i/BMW_Ambush.rar.html"&gt;http://freakshare.net/files/7b82fi1i/BMW_Ambush.rar.html&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/796810736348108756-6856976049893002680?l=webhd01.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ztT48h2yqXUY8Og8wgoU8iaXv6o/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ztT48h2yqXUY8Og8wgoU8iaXv6o/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ztT48h2yqXUY8Og8wgoU8iaXv6o/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ztT48h2yqXUY8Og8wgoU8iaXv6o/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/QWfOQU/~4/DRph943cUE0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://webhd01.blogspot.com/feeds/6856976049893002680/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://webhd01.blogspot.com/2010/09/bmw-hire-season-1-ambush.html#comment-form" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/796810736348108756/posts/default/6856976049893002680?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/796810736348108756/posts/default/6856976049893002680?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/QWfOQU/~3/DRph943cUE0/bmw-hire-season-1-ambush.html" title="BMW The Hire Season 1-Ambush 埋伏" /><author><name>Kalvin</name><uri>http://www.blogger.com/profile/01840266551993498978</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/_ec1p8JsJSAg/TIrsPWCAS6I/AAAAAAAACG8/wWMJDGq7uFw/s1600/aboutme.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://webhd01.blogspot.com/2010/09/bmw-hire-season-1-ambush.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEQCRXoyfip7ImA9Wx9SEko.&quot;"><id>tag:blogger.com,1999:blog-796810736348108756.post-8513550040559748911</id><published>2010-03-27T14:56:00.007+08:00</published><updated>2010-12-02T15:52:44.496+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-02T15:52:44.496+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Flex3" /><title>Importing classes and packages</title><content type="html">Flex3 實現舞台(Stage)和程式碼(as)分離的功能 原文出處可以在 Adobe livedoc 內找到，&lt;a href="http://livedocs.adobe.com/flex/3/html/usingas_5.html#150297"&gt;http://livedocs.adobe.com/flex/3/html/usingas_5.html#150297&lt;/a&gt;&amp;nbsp;，該文件內有 Demo 展示，實作步驟如下：&lt;br /&gt;&lt;br/&gt;
&lt;h3&gt;一、建立舞台 Application&lt;/h3&gt;
1.先建立一個空的舞台 File&amp;gt;New&amp;gt;MXML Application &lt;br /&gt;
2.拖曳一個 Button 物件到舞台上 &lt;br /&gt;
3.在右側 Flex Properties 內找到 Common ，設定 Button 的 id 為 myButton，label 為 Click Me &lt;br /&gt;
4.在右側 Flex Properties 內找到 Events ，設定 Button 的 click 為 myButton.label=mc.returnAString() &lt;br /&gt;
5.點擊 Source 可以看到原始碼如下： &lt;br /&gt;
&lt;pre class='brush:xml;'&gt;
&lt;?xml version="1.0"?&gt;  
&lt;!-- usingas/AccessingPackagedClasses.mxml --&gt;  
&lt;mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"&gt;  
   &lt;mx:Button id="myButton" label="Click Me" click="myButton.label=mc.returnAString()"/&gt;  
&lt;/mx:Application&gt;
&lt;/pre&gt;
6.現在加上行號5-10變成如下 &lt;br /&gt;
&lt;pre class='brush:xml;'&gt;
&amp;lt;?xml version="1.0"?&amp;gt;
&amp;lt;!-- usingas/AccessingPackagedClasses.mxml --&amp;gt;
&amp;lt;mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"&amp;gt;

    &amp;lt;mx:Script&amp;gt;&amp;lt;![CDATA[
        import MyPackage.Util.MyClass;

        private var mc:MyClass = new MyClass;

    ]]&amp;gt;&amp;lt;/mx:Script&amp;gt;

    &amp;lt;mx:Button id="myButton" label="Click Me" click="myButton.label=mc.returnAString()"/&amp;gt;

&amp;lt;/mx:Application&amp;gt;
&lt;/pre&gt;
&lt;br /&gt;
&lt;h3&gt;二、撰寫 class&lt;/h3&gt;
1.建立一個空的 class ，File &amp;gt; New &amp;gt; ActionScript Class &lt;br /&gt;
2.Package 內填入 MyPackage.Util &lt;br /&gt;
3.Name 內填入 MyClass &lt;br /&gt;
4.Flex3 Builder 自動產生如下的框架 &lt;br /&gt;
&lt;pre class='brush:java;'&gt;
package MyPackage.Util{
 public class MyClass{
  public function MyClass(){}
 }
}
&lt;/pre&gt;
5.撰寫以下程式碼 &lt;br /&gt;
&lt;pre class='brush:java;'&gt;
package MyPackage.Util{
  public class MyClass{
    private var s:String;
    public function MyClass(){}
    public function returnAString():String{  
      s="42";  
      return s;  
    }
  }
}
&lt;/pre&gt;
6.點擊 Run 鈕即可觀看成果&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/796810736348108756-8513550040559748911?l=webhd01.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/2OcXqM_pBz80VA_Ekw-cXwS7O3I/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2OcXqM_pBz80VA_Ekw-cXwS7O3I/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/2OcXqM_pBz80VA_Ekw-cXwS7O3I/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2OcXqM_pBz80VA_Ekw-cXwS7O3I/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/QWfOQU/~4/O8eGHzW-zgw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://webhd01.blogspot.com/feeds/8513550040559748911/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://webhd01.blogspot.com/2010/03/importing-classes-and-packages.html#comment-form" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/796810736348108756/posts/default/8513550040559748911?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/796810736348108756/posts/default/8513550040559748911?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/QWfOQU/~3/O8eGHzW-zgw/importing-classes-and-packages.html" title="Importing classes and packages" /><author><name>Kalvin</name><uri>http://www.blogger.com/profile/01840266551993498978</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/_ec1p8JsJSAg/TIrsPWCAS6I/AAAAAAAACG8/wWMJDGq7uFw/s1600/aboutme.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://webhd01.blogspot.com/2010/03/importing-classes-and-packages.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEcHQ3w-cSp7ImA9Wx5UEU4.&quot;"><id>tag:blogger.com,1999:blog-796810736348108756.post-3147425286455092288</id><published>2009-08-16T08:26:00.001+08:00</published><updated>2010-10-15T17:47:12.259+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-10-15T17:47:12.259+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Domain knowhow" /><title>水管接頭規格怎麼看</title><content type="html">一般水管接頭都是標明2分、3分、4分....等，可是我們的水管規格又是以 9/12、12/16...來區分的，那要怎麼知道什麼樣的接頭要用什麼的管子呢？&lt;br /&gt;
其實，所謂的幾分表示的是"英分"，也就是1/8英吋=3.175公厘&lt;br /&gt;
而水管以前面的數字表示內徑，後面的數字為外徑，單位則是公厘&lt;br /&gt;
所以換算起來，9/12 的水管相當於可插入3分接頭，12/16的水管則可插入4分接頭&lt;br /&gt;
簡單的說，就是直接把內徑除以3就可以了&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/796810736348108756-3147425286455092288?l=webhd01.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/r3yquHJJkLsrOJ0S_c5sOA6J84Y/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/r3yquHJJkLsrOJ0S_c5sOA6J84Y/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/r3yquHJJkLsrOJ0S_c5sOA6J84Y/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/r3yquHJJkLsrOJ0S_c5sOA6J84Y/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/QWfOQU/~4/g_dx8ob5lbs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://webhd01.blogspot.com/feeds/3147425286455092288/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://webhd01.blogspot.com/2009/08/blog-post_8624.html#comment-form" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/796810736348108756/posts/default/3147425286455092288?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/796810736348108756/posts/default/3147425286455092288?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/QWfOQU/~3/g_dx8ob5lbs/blog-post_8624.html" title="水管接頭規格怎麼看" /><author><name>Kalvin</name><uri>http://www.blogger.com/profile/01840266551993498978</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/_ec1p8JsJSAg/TIrsPWCAS6I/AAAAAAAACG8/wWMJDGq7uFw/s1600/aboutme.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://webhd01.blogspot.com/2009/08/blog-post_8624.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUECR38zfSp7ImA9Wx9SEko.&quot;"><id>tag:blogger.com,1999:blog-796810736348108756.post-2566193660351465322</id><published>2009-08-16T03:31:00.008+08:00</published><updated>2010-12-02T16:14:26.185+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-02T16:14:26.185+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Linux Distribution" /><category scheme="http://www.blogger.com/atom/ns#" term="Red5" /><title>在Redhat 8.0 上安裝 Red5</title><content type="html">以下是我的 Red 5 安裝經驗，每個人的環境可能有所不同，所以僅供參考~&lt;br /&gt;
&lt;pre class='txt'&gt;
作業系統：RedHat 8.0
Java SDK 1.6.0_14
Apach ANT 1.7.1
Red5 0.7.0
&lt;/pre&gt;
&lt;h3&gt;Step1：安裝 Java SDK&lt;/h3&gt;
在 http://java.sun.com 找到了 j2se sdk，有二種版本，一為 Binary，一為 rpm，選擇下載了 rpm 格式的 jdk，檔名是 jdk-6u14-linux-i586-rpm.bin，忘了在 redhat 上直接下載，只好再用 WinSCP 將檔案傳至 RedHat 8 伺服器上。&lt;br /&gt;
&lt;br /&gt;
這是一個自解壓縮檔，先做 chmod
&lt;pre class='brush:bash;'&gt;#chmod a+x jdk-6u14-linux-i586-rpm.bin&lt;/pre&gt;
執行解壓縮
&lt;pre class='brush:bash;'&gt;#./jdk-6u14-linux-i586-rpm.bin&lt;/pre&gt;
解壓縮完後產生七個 rpm 檔&lt;br /&gt;
&lt;span style="color: red;"&gt;jdk-6u14-linux-i586.rpm&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red;"&gt;sun-javadb-client-10.4.2-1.1.i386.rpm&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red;"&gt;sun-javadb-common-10.4.2-1.1.i386.rpm&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red;"&gt;sun-javadb-core-10.4.2-1.1.i386.rpm&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red;"&gt;sun-javadb-demo-10.4.2-1.1.i386.rpm&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red;"&gt;sun-javadb-docs-10.4.2-1.1.i386.rpm&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: red;"&gt;sun-javadb-javadoc-10.4.2-1.1.i386.rpm&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
照字面上來看，應該安裝 jdk-6u14-linux-i586.rpm 就可以了吧?
&lt;pre class='brush:bash;'&gt;#rpm –iv jdk-6u14-linux-i586.rpm&lt;/pre&gt;
依照 rpm 預設，java sdk 的安裝路徑會在 /usr/java 下，修改 java 環境配置，在 /etc/profile 文件尾加入以下配置
&lt;pre class='brush:bash;'&gt;JAVA_HOME=/usr/java/jdk1.6.0_14
PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:&amp;amp;JAVA_HOME/jre/lib
export JAVA_HOME
export PATH
export CLASSPATH&lt;/pre&gt;
存檔後離開，執行 source /etc/profile 讓它立即生效 &lt;br /&gt;
&lt;pre class='brush:bash;'&gt;#source /etc/profile&lt;/pre&gt;
在 shell 下執行一小段 java 程式測試有無問題，先用 vi 寫一個 test.java &lt;br /&gt;
&lt;pre class='brush:java;'&gt;public class test{
public static void main(String[] args){
 System.out.println("Hello World!");
 }
}
&lt;/pre&gt;
存檔離開然後執行javac 產生 test.class &lt;br /&gt;
&lt;pre class='brush:bash;'&gt;#javac test.java&lt;/pre&gt;
執行 java test ，shell 印出 Hello World 時即表示環境無誤，Java 可以正常運作&lt;br /&gt;
&lt;pre class='brush:bash;'&gt;#java test&lt;/pre&gt;
&lt;br /&gt;
&lt;h3&gt;Step2：安裝 Apach ANT&lt;/h3&gt;
只找到 Binary 型式的安裝檔，將就著用吧，其實 ant 並不需要什麼安裝，解壓縮後設置好環境變數即可使用。&lt;br /&gt;
&lt;br /&gt;
先下載檔案回來 &lt;br /&gt;
&lt;pre class='brush:bash;'&gt;#wget http://ftp.mirror.tw/pub/apache/ant/binaries/apache-ant-1.7.1-bin.tar.gz&lt;/pre&gt;
解壓縮 &lt;br /&gt;
&lt;pre class='brush:bash;'&gt;#tar zxf apache-ant-1.7.1-bin.tar.gz&lt;/pre&gt;
ls 一下，檔案已被解壓縮至 apache-ant-1.7.1 目錄下了，刪除原來的壓縮檔 &lt;br /&gt;
&lt;pre class='brush:bash;'&gt;#rm apache-ant-1.7.1-bin.tar.gz&lt;/pre&gt;
再檢查一下，發現apache-ant-1.7.1 位於 /root 目錄下，不太好，還是把它移到 /usr/local 下比較好 &lt;br /&gt;
&lt;pre class='brush:bash;'&gt;#mv apache-ant-1.7.1 /usr/local&lt;/pre&gt;
再來就是設置環境變數，一樣打開 /etc/profile 在文件尾加上 &lt;br /&gt;
&lt;pre class='brush:bash;'&gt;export ANT_HOME=/usr/local/apache-ant-1.7.1
export PATH=$PATH:/usr/local/apache-ant-1.7.1/bin&lt;/pre&gt;
存檔後離開，執行 source /etc/profile 讓它立即生效 &lt;br /&gt;
&lt;pre class='brush:bash;'&gt;#source /etc/profile&lt;/pre&gt;
測試 ant 是否安裝成功 &lt;br /&gt;
&lt;pre class='brush:bash;'&gt;#ant&lt;/pre&gt;
若出現下列字串，即表示 Apache ANT 環境設置成功
&lt;pre class='txt'&gt;
Buildfile: build.xml does not exist!
Build failed
&lt;/pre&gt;
&lt;h3&gt;Step 3：安裝 Red5&lt;/h3&gt;
下載 Red5 v0.7.0 Final，由於這是一個原始碼包，為了方便管理，我把它下載到 /usr/src 這個目錄內 &lt;br /&gt;
&lt;pre class='brush:bash;'&gt;#cd /usr/src
#wget http://red5.nl/installer/red5-0.7.0.tar.gz&lt;/pre&gt;
解壓縮 &lt;br /&gt;
&lt;pre class='brush:bash;'&gt;#tar zxvf /root/src/red5-0.7.0.tar.gz&lt;/pre&gt;
解壓縮完成，在 /usr/src/red5 目錄下輸入ant自動編譯 &lt;br /&gt;
&lt;pre class='brush:bash;'&gt;#ant&lt;/pre&gt;
疑，有 error 發生，編譯失敗== 
&lt;pre class='brush:bash;'&gt;[ivy:resolve] ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:resolve] ::         UNRESOLVED DEPENDENCIES      ::
[ivy:resolve] ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:resolve] :: jmx#jmxtools;: not found
[ivy:resolve] :: jmx#jmxremote;: not found
[ivy:resolve] :: jmx#rmissl;: not found
[ivy:resolve] :: javax#jpda;: not found
[ivy:resolve] ::::::::::::::::::::::::::::::::::::::::::::::
&lt;/pre&gt;
找了一整天，終於找到問題所在了，原來是 ivysetting.xml 內的問題 &lt;br /&gt;
&lt;pre class='brush:xml;'&gt;&amp;lt;ivysettings&amp;gt;
 &amp;lt;settings defaultResolver="local"/&amp;gt;
  &amp;lt;resolvers&amp;gt;
   &amp;lt;chain name="local"&amp;gt;
    &amp;lt;filesystem name="default"&amp;gt;
     &amp;lt;ivy pattern="${user.home}/.ivy2/cache/[organisation]/[module]/ivys/ivy-[revision].xml"/&amp;gt;
     &amp;lt;artifact pattern="${ivy.lib.dir}/[artifact](-[revision]).[ext]" /&amp;gt;
    &amp;lt;/filesystem&amp;gt;
   &amp;lt;url name="googlecode"&amp;gt;
    &amp;lt;artifact pattern="http://red5.googlecode.com/svn/repository/[artifact](-[revision]).[ext]" /&amp;gt;
    &amp;lt;artifact pattern="http://red5.googlecode.com/svn/repository/[organisation]/[artifact](-[revision]).[ext]" /&amp;gt;
   &amp;lt;/url&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
   &amp;lt;/chain&amp;gt;
&amp;lt;/resolvers&amp;gt;
&amp;lt;/ivysettings&amp;gt;
&lt;/pre&gt;
行號10-11的 http 根本就是個無效的鏈結，把它改成 &lt;span style="color: blue;"&gt;http://red5.googlecode.com/svn/java/server/branches/clustering/lib/&lt;/span&gt; 就搞定了，另外，我下載回來的Red5-0.7.0壓縮包內根本沒有ivysettings.xml這個檔案，還得到這裡 &lt;a href="http://red5.googlecode.com/svn/java/server/tags/0_7_0/"&gt;http://red5.googlecode.com/svn/java/server/tags/0_7_0/&lt;/a&gt; 去下載回來修改才行。&lt;br /&gt;&lt;br/&gt;
重新編譯
&lt;pre class='brush:bash;'&gt;#ant

dist:
[copy] Copying 63 files to /usr/src/red5/dist/lib
[copy] Copying 27 files to /usr/src/red5/dist/conf
[copy] Copying 1 file to /usr/src/red5/dist/webapps
[copy] Copying 7 files to /usr/src/red5/dist

BUILD SUCCESSFUL
Total time: 2 minutes 21 seconds&lt;/pre&gt;
呼，總算成功了。&lt;br /&gt;
重新編譯過後的檔案都在 dist 下&lt;br /&gt;
&lt;br /&gt;
再來修改 red5 設定檔 ( &lt;span style="color: red;"&gt;如果是使用PPPoe方式架站的話，底下內容不需要更改&lt;/span&gt; )&lt;br /&gt;
&lt;pre class='brush:bash;'&gt;#vi /usr/src/red5/dist/conf/red5.properties&lt;/pre&gt;
找到 #HTTP 這一行，修改底下的&lt;br /&gt;
http.host=0.0.0.0&lt;br /&gt;
改成機器的實際IP(&lt;span style="color: red;"&gt;在0.9.0版本中反而不需要更改，否則會有問題&lt;/span&gt;)&lt;br /&gt;
&lt;br /&gt;
找到 #RTMP 這一行，修改底下的&lt;br /&gt;
rtmp.host=0.0.0.0(&lt;span style="color: red;"&gt;在0.9.0版本中反而不需要更改，否則會有問題&lt;/span&gt;)&lt;br /&gt;
改成機器的實際 IP&lt;br /&gt;
&lt;br /&gt;
存檔，然後啟動 red5 &lt;br /&gt;
&lt;pre class='brush:bash;'&gt;#sh red5.sh&lt;/pre&gt;
&lt;br /&gt;
在 windows 上用瀏覽器瀏覽 http://ip:5080&lt;br /&gt;
OK~順利在瀏覽器上看到 Red5 的 Test Page 了，安裝成功了&lt;br /&gt;
&lt;h3&gt;step 4：將 Red5 變更為系統服務&lt;/h3&gt;
很奇怪，Red5 並沒有提供安裝成系統服務的選項，網路上則有些先進提供了以下的參考做法：&lt;br /&gt;
在 /etc/init.d 目錄下建立一個名為 red5 的檔案，以下為檔案內容，也可以從&lt;a href="http://greeneyes.myweb.hinet.net/red5.rar"&gt;這裡&lt;/a&gt;下載。&lt;br /&gt;
&lt;pre class='brush:bash;toolbar:true;'&gt;#!/bin/sh
#
# Startup script for Red5 flash streaming server
#
# chkconfig: 345 81 81
# description: RED5 by java
#
# processname: java (unfortunately)
# pidfile: /var/run/red5.pid
# config: /etc/red5.conf

# Source function library.

. /etc/rc.d/init.d/functions

PID_FILE=/var/run/red5.pid

#PID=`ps ax |grep java|grep red5|awk '{print $1;}'`
#如果上面的指令秀不出PID，請改用下一行
PID=`ps axw|grep java|grep red5|awk '{print $1;}'`

RETVAL=0

start() {
echo -n $"Starting $DESCR: "
# daemon java $OPTIONS &gt; /dev/null 2&gt;&amp;1 &amp;

export ANT_HOME=/usr/ant
export JAVA_HOME=/usr/java
export PATH=$PATH:$JAVA_HOME/bin:$ANT_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

exec $JAVA_HOME/bin/java -Djava.security.manager -Djava.security.policy=/opt/red5/conf/red5.policy -cp /opt/red5/red5.jar:conf:/opt/red5/conf org.red5.server.Standalone &gt; /dev/null 2&gt;&amp;1 &amp; RETVAL=$?

[ $RETVAL = 0 ] &amp;&amp; touch /var/lock/subsys/red5 &amp;&amp; echo $!&gt;$PID_FILE &amp;&amp; echo_success
echo
return $RETVAL
}
stop() {
echo -n $"Stopping $DESCR: "
#killproc $PID_FILE
[[ $PID != "" ]] &amp;&amp; success &amp;&amp; kill $PID || failure
RETVAL=$?
echo
[ $RETVAL = 0 ] &amp;&amp; rm -f /var/lock/subsys/red5 $PID_FILE
}

# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
sleep 3
start
;;
*)
echo $"Usage: $DESCR {start|stop|restart}"
exit 1
esac

exit $RETVAL
&lt;/pre&gt;
部份內容，必需視你的實際目錄更改，( &lt;span style="color: red;"&gt;我覺得原作者設定的路徑看起來好像很專業，於是我也把 /usr/src/red5/dist 目錄移動成 /opt/red5&lt;/span&gt; )存檔後執行下列動作：&lt;br /&gt;
&lt;br /&gt;
變更檔案權限為可執行
&lt;pre class='brush:bash;'&gt;#chmod 755 red5&lt;/pre&gt;
將此執行檔加入系統服務中 &lt;br /&gt;
&lt;pre class='brush:bash;'&gt;#chkconfig --add red5&lt;/pre&gt;
如此即可讓 red5 在系統開機後自動執行，也可以使用以下指令開啟或關閉服務
&lt;pre class='brush:bash;'&gt;#sh /etc/init.d/red5 start
#sh /etc/init.d/red5 stop
#sh /etc/init.d/red5 restart&lt;/pre&gt;
重新開機，測試一下，完工，大功告成~&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/796810736348108756-2566193660351465322?l=webhd01.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/qs-ek_bPywgO_4lJfrhDpEGXRiY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qs-ek_bPywgO_4lJfrhDpEGXRiY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/qs-ek_bPywgO_4lJfrhDpEGXRiY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qs-ek_bPywgO_4lJfrhDpEGXRiY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/QWfOQU/~4/xF5aQdSZ184" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://webhd01.blogspot.com/feeds/2566193660351465322/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://webhd01.blogspot.com/2009/08/redhat-80-red5.html#comment-form" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/796810736348108756/posts/default/2566193660351465322?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/796810736348108756/posts/default/2566193660351465322?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/QWfOQU/~3/xF5aQdSZ184/redhat-80-red5.html" title="在Redhat 8.0 上安裝 Red5" /><author><name>Kalvin</name><uri>http://www.blogger.com/profile/01840266551993498978</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/_ec1p8JsJSAg/TIrsPWCAS6I/AAAAAAAACG8/wWMJDGq7uFw/s1600/aboutme.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://webhd01.blogspot.com/2009/08/redhat-80-red5.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0IDRng5cSp7ImA9Wx9SFU4.&quot;"><id>tag:blogger.com,1999:blog-796810736348108756.post-7570816221164668557</id><published>2009-08-16T02:50:00.013+08:00</published><updated>2010-12-05T14:46:17.629+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-05T14:46:17.629+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Linux Distribution" /><title>console 下常用的系統管理指令</title><content type="html">&lt;h3&gt;
For All Distribution&lt;/h3&gt;
&lt;h6&gt;
檢查系統 Distribution 版本&lt;/h6&gt;
&lt;pre class="brush:bash;"&gt;#lsb_release -a&lt;/pre&gt;
&lt;pre class="txt"&gt;LSB Version:    n/a
Distributor ID: SUSE LINUX
Description:    openSUSE 11.3 (i586)
Release:        11.3
Codename:       n/a&lt;/pre&gt;
或 &lt;br /&gt;
&lt;pre class="brush:bash;"&gt;#cat /etc/issue&lt;/pre&gt;
&lt;pre class="txt"&gt;Welcome to openSUSE 11.3 "Teal" - Kernel \r (\l).
&lt;/pre&gt;
&lt;h6&gt;
檢查核心版本&lt;/h6&gt;
&lt;pre class="brush:bash;"&gt;#uname -r&lt;/pre&gt;
&lt;pre class="txt"&gt;2.6.34-12-default&lt;/pre&gt;
&lt;h6&gt;
彈出光碟機托盤&lt;/h6&gt;
&lt;pre class="brush:bash;"&gt;#eject&lt;/pre&gt;
&lt;br /&gt;
&lt;h3&gt;
For Red Hat 8.0&lt;/h3&gt;
&lt;h6&gt;
系統設定&lt;/h6&gt;
&lt;pre class="brush:bash;"&gt;#/usr/sbin/setup&lt;/pre&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/_ec1p8JsJSAg/TPsuszCUObI/AAAAAAAACaA/VbO6RgwhYEc/s1600/redhat_setup.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" ox="true" src="http://2.bp.blogspot.com/_ec1p8JsJSAg/TPsuszCUObI/AAAAAAAACaA/VbO6RgwhYEc/s1600/redhat_setup.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;h6&gt;
ADSL 設定&lt;/h6&gt;
&lt;pre class="brush:bash;"&gt;#adsl-setup&lt;/pre&gt;
&lt;h6&gt;
adsl 撥接&lt;/h6&gt;
&lt;pre class="brush:bash;"&gt;//pppx 視系統裝置而定
#/sbin/ifup ppp0&lt;/pre&gt;
&lt;h6&gt;
adsl 掛斷&lt;/h6&gt;
&lt;pre class="brush:bash;"&gt;#/sbin/ifdown ppp0&lt;/pre&gt;
&lt;br /&gt;
狀態查詢&lt;br /&gt;
#/sbin/adsl-status&lt;br /&gt;
#/etc/sysconfig/network-scripts/ifcfg-ppp0&lt;br /&gt;
&lt;br /&gt;
設定檔路徑&lt;br /&gt;
/etc/sysconfig/network-scripts/ifcfg-ppp0&lt;br /&gt;
/etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
設定檔內的下列值改成0，會有較穩定的效果&lt;br /&gt;
PPPOE_TIMEOUT 改成0&lt;br /&gt;
CONNECT_TIMEOUT 也改成0&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #660000;"&gt;查詢指令&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: blue;"&gt;#set&lt;/span&gt;&lt;br /&gt;
顯示使用者的環境變數&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: blue;"&gt;#ps&lt;/span&gt; &lt;br /&gt;
顯示目前系統執行中的處理程序清單，類似 Windows 中的 Ctrl+Alt+Del&lt;br /&gt;
常用參數：&lt;br /&gt;
-A 顯示所有程序清單&lt;br /&gt;
-a 顯示所有與終端無關的程序清單&lt;br /&gt;
-U 顯示指定用戶的程序，必須指定用戶的名稱或PID，例如：ps -U John&lt;br /&gt;
-u 顯示指定用戶的程序，若不指定則顯示目前登入的使用者，例：&lt;br /&gt;
#ps aux&lt;br /&gt;
#ps ax&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: blue;"&gt;#grep&lt;/span&gt;&lt;br /&gt;
字元搜尋指令，配合其它指令使用，例如要使用 ps 指令查詢 sendmail 是否正常運作時，可以如下：&lt;br /&gt;
#ps aux | grep sendmail&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: blue;"&gt;#awk&lt;/span&gt;&lt;br /&gt;
配合其它指令，以欄為單位，取出所需資料，例如：&lt;br /&gt;
#ps aux | awk '{print $1 "\t" $2}'&lt;br /&gt;
print 表示印出資料&lt;br /&gt;
'\t" 表示以tab做分隔符號&lt;br /&gt;
$1 $2 即表示要顯示的欄位&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #660000;"&gt;掛載媒體&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
掛載光碟機&lt;br /&gt;
&lt;span style="color: blue;"&gt;# mount -t iso9600 /dev/cdrom /mnt/cdrom&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: blue;"&gt;# mount /dev/cdrom /mnt/cdrom&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
卸載光碟片&lt;br /&gt;
&lt;span style="color: blue;"&gt;#umount /mnt/cdrom&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
For OpenSUSE&lt;/h3&gt;
&lt;h6&gt;
系統設定&lt;/h6&gt;
&lt;pre class="brush:bash;"&gt;//文字模式
#yast&lt;/pre&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/_ec1p8JsJSAg/TPs0uNaChOI/AAAAAAAACaE/p0l0vSYapQU/s1600/yast.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="467" ox="true" src="http://2.bp.blogspot.com/_ec1p8JsJSAg/TPs0uNaChOI/AAAAAAAACaE/p0l0vSYapQU/s640/yast.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;pre class="brush:bash;"&gt;//圖形模式
#yast2&lt;/pre&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/_ec1p8JsJSAg/TPs08ktr-rI/AAAAAAAACaI/uRDO1l6C5hg/s1600/yast2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="415" ox="true" src="http://2.bp.blogspot.com/_ec1p8JsJSAg/TPs08ktr-rI/AAAAAAAACaI/uRDO1l6C5hg/s640/yast2.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;h6&gt;
adsl 撥接&lt;/h6&gt;
&lt;pre class="brush:bash;"&gt;//dslx 視系統裝置而定
ifup dsl0&lt;/pre&gt;
&lt;pre class="txt"&gt;dsl0      name: DSL 
interface dsl0 is up
&lt;/pre&gt;
&lt;h6&gt;
adsl 掛斷&lt;/h6&gt;
&lt;pre class="brush:bash;"&gt;ifdown dsl0&lt;/pre&gt;
&lt;pre class="txt"&gt;dsl0      name: DSL 
interface dsl0 is down
&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/796810736348108756-7570816221164668557?l=webhd01.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/CiIuwoMheA105KdncvyyOX2L2C0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CiIuwoMheA105KdncvyyOX2L2C0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/CiIuwoMheA105KdncvyyOX2L2C0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CiIuwoMheA105KdncvyyOX2L2C0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/QWfOQU/~4/ijKjZrjcI0U" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://webhd01.blogspot.com/feeds/7570816221164668557/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://webhd01.blogspot.com/2009/08/console.html#comment-form" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/796810736348108756/posts/default/7570816221164668557?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/796810736348108756/posts/default/7570816221164668557?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/QWfOQU/~3/ijKjZrjcI0U/console.html" title="console 下常用的系統管理指令" /><author><name>Kalvin</name><uri>http://www.blogger.com/profile/01840266551993498978</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/_ec1p8JsJSAg/TIrsPWCAS6I/AAAAAAAACG8/wWMJDGq7uFw/s1600/aboutme.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_ec1p8JsJSAg/TPsuszCUObI/AAAAAAAACaA/VbO6RgwhYEc/s72-c/redhat_setup.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://webhd01.blogspot.com/2009/08/console.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkEGR3g8eip7ImA9Wx5bEkk.&quot;"><id>tag:blogger.com,1999:blog-796810736348108756.post-1434247674344878125</id><published>2009-08-16T02:36:00.005+08:00</published><updated>2010-10-28T12:37:06.672+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-10-28T12:37:06.672+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Linux Distribution" /><title>RedHat 8.0 系統目錄</title><content type="html">Red Hat 系統目錄：
&lt;pre class="txt"&gt;
/
        /boot kernel,boot.b 核心,系統開機二進位檔
        /etc  設定檔
                /init.d/ 系統服務啟動界面的所在
        /bin 存放供所有用戶使用的基本命令
        /sbin 存放供超級使用者使用的系統命令
        /lib 共享函式庫
        /dev 硬體設備目錄
        /usr 使用者級工具
                /bin 多數應用程序存放的位置
                /sbin
                /lib
                /local local 端專有工具
                        /bin
                        /sbin
                        /lib
        /home 系統使用者帳號家目錄
        /root root 家目錄
        /mnt 系統 mount 暫存區
        /tmp 暫存檔案存放位置
        /var 系統資訊
        /proc 系統程序檔案系統
&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/796810736348108756-1434247674344878125?l=webhd01.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/VclxlbTCYlMH5BBgjjtB2rhzugI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VclxlbTCYlMH5BBgjjtB2rhzugI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/VclxlbTCYlMH5BBgjjtB2rhzugI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VclxlbTCYlMH5BBgjjtB2rhzugI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/QWfOQU/~4/JC3qMyHdSKw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://webhd01.blogspot.com/feeds/1434247674344878125/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://webhd01.blogspot.com/2009/08/redhat.html#comment-form" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/796810736348108756/posts/default/1434247674344878125?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/796810736348108756/posts/default/1434247674344878125?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/QWfOQU/~3/JC3qMyHdSKw/redhat.html" title="RedHat 8.0 系統目錄" /><author><name>Kalvin</name><uri>http://www.blogger.com/profile/01840266551993498978</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/_ec1p8JsJSAg/TIrsPWCAS6I/AAAAAAAACG8/wWMJDGq7uFw/s1600/aboutme.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://webhd01.blogspot.com/2009/08/redhat.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0cGR304fCp7ImA9Wx9SEko.&quot;"><id>tag:blogger.com,1999:blog-796810736348108756.post-6435437846254414360</id><published>2009-08-16T02:33:00.006+08:00</published><updated>2010-12-02T16:37:06.334+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-02T16:37:06.334+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Linux Distribution" /><category scheme="http://www.blogger.com/atom/ns#" term="SSH" /><title>使用 RSA 登入 SSH</title><content type="html">&lt;span style="color: red;"&gt;&lt;strong&gt;在想要登入的遠端主機上執行下列動作&lt;/strong&gt;&lt;/span&gt; &lt;br /&gt;
&lt;h3&gt;
1.建立 RSA Key&lt;/h3&gt;
&lt;pre class="brush:bash;"&gt;#ssh-keygen -t rsa

Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
// 輸入 key 的密碼，可以直接按 Enter 輸入空白，但建議還是使用密碼保護的好
Enter passphrase (empty for no passphrase):
// 再重覆輸入一次
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
e5:2b:5d:97:89:40:4a:a5:e5:5b:90:d1:47:e1:ee:74 root@linux&lt;/pre&gt;
進入使用者家目錄內的 .ssh 目錄內 &lt;br /&gt;
&lt;pre class="brush:bash;"&gt;#cd /root/.ssh&lt;/pre&gt;
變更 id_rsa.pub (公鑰) 名稱為 authorized_keys &lt;br /&gt;
&lt;pre class="brush:bash;"&gt;#mv id_rsa.pub authorized_keys&lt;/pre&gt;
變更檔案屬性為 600 &lt;br /&gt;
&lt;pre class="brush:bash;"&gt;#chmod 600 authorized_keys&lt;/pre&gt;
&lt;h3&gt;
2.修改設定檔&lt;/h3&gt;
sshd 的設定檔為 /etc/ssh/sshd_config，用 vi 編輯，修改下列字串 &lt;br /&gt;
&lt;pre class="txt"&gt;#Protocol 2,1 變更為 Protocol 2
#PasswordAuthentication yes 變更為 PasswordAuthentication no&lt;/pre&gt;
存檔後離開，重新啟動 sshd &lt;br /&gt;
&lt;pre class="brush:bash;"&gt;#service sshd restart&lt;/pre&gt;
ps.至於要不要把 PermitRootLogin yes 改為 PermitRootLogin no，則視你需要，反正有 Key 保護，有需要使用 root 作業的人(Ex.WinSCP)，就不用改，不需要用 root 作業的人，還是把它改掉的好。&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: red;"&gt;&lt;strong&gt;在 Windows Client 上做以下動作&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
1.轉換 id_rsa&lt;/h3&gt;
用你覺得安全的方法將 id_rsa (私鑰) 取回，由於 Server 端產生的私鑰格式和 pietty(putty)不同，必需經過轉換處理，先&lt;a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html"&gt;下載 puttygen&lt;/a&gt;，直接執行。﻿﻿﻿&lt;br /&gt;
&lt;br /&gt;
﻿﻿點擊 Conversions&amp;gt;Import key ，選擇剛剛取回的 id_rsa ，由於在建立公私鑰時有設定密碼 ( 非 Linux 密碼 )，所以出現如下圖所示，要求輸入密碼。 &lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/_ec1p8JsJSAg/TPdYCUQBfXI/AAAAAAAACSI/42T8JfRFDXM/s1600/ssh_rsa_01.png" imageanchor="1"&gt;&lt;img border="0" height="383" ox="true" src="http://1.bp.blogspot.com/_ec1p8JsJSAg/TPdYCUQBfXI/AAAAAAAACSI/42T8JfRFDXM/s400/ssh_rsa_01.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
接下來只要點擊 Save private key 將私鑰存檔即可，就這麼簡單&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/_ec1p8JsJSAg/TPdZbsbcMII/AAAAAAAACSM/W6RVj_VMhPs/s1600/ssh_rsa_02.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="383" ox="true" src="http://3.bp.blogspot.com/_ec1p8JsJSAg/TPdZbsbcMII/AAAAAAAACSM/W6RVj_VMhPs/s400/ssh_rsa_02.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;h3&gt;
2.將私鑰匯入 Pietty (putty) 內&lt;/h3&gt;
打開 Pietty，點擊 選項&amp;gt;詳細設定，出現如下圖，Browse 剛剛用 puttygen 轉換完成的私鑰檔案，點擊 Apply 即可。&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/_ec1p8JsJSAg/TPdZ3Dop0VI/AAAAAAAACSQ/f9PaikzDrAk/s1600/ssh_rsa_03.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="381" ox="true" src="http://1.bp.blogspot.com/_ec1p8JsJSAg/TPdZ3Dop0VI/AAAAAAAACSQ/f9PaikzDrAk/s400/ssh_rsa_03.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
連線到伺服器上，可以發現和之前的帳號密碼登入已經不同了，現在必須擁有 Key 並且輸入 Key 的密碼才能登入伺服器了。&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/_ec1p8JsJSAg/TPdaS-qY0AI/AAAAAAAACSU/JkYRb5EVL4U/s1600/ssh_rsa_04.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="412" ox="true" src="http://3.bp.blogspot.com/_ec1p8JsJSAg/TPdaS-qY0AI/AAAAAAAACSU/JkYRb5EVL4U/s640/ssh_rsa_04.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/796810736348108756-6435437846254414360?l=webhd01.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/UOu4pR7WIJcyNxJ0coQAskJTjuo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/UOu4pR7WIJcyNxJ0coQAskJTjuo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/UOu4pR7WIJcyNxJ0coQAskJTjuo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/UOu4pR7WIJcyNxJ0coQAskJTjuo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/QWfOQU/~4/n-9h-sHRY3g" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://webhd01.blogspot.com/feeds/6435437846254414360/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://webhd01.blogspot.com/2009/08/rsa-ssh.html#comment-form" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/796810736348108756/posts/default/6435437846254414360?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/796810736348108756/posts/default/6435437846254414360?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/QWfOQU/~3/n-9h-sHRY3g/rsa-ssh.html" title="使用 RSA 登入 SSH" /><author><name>Kalvin</name><uri>http://www.blogger.com/profile/01840266551993498978</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/_ec1p8JsJSAg/TIrsPWCAS6I/AAAAAAAACG8/wWMJDGq7uFw/s1600/aboutme.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_ec1p8JsJSAg/TPdYCUQBfXI/AAAAAAAACSI/42T8JfRFDXM/s72-c/ssh_rsa_01.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://webhd01.blogspot.com/2009/08/rsa-ssh.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0YNRn84fCp7ImA9Wx9SEko.&quot;"><id>tag:blogger.com,1999:blog-796810736348108756.post-873748382974378544</id><published>2009-08-16T02:10:00.004+08:00</published><updated>2010-12-02T16:39:57.134+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-02T16:39:57.134+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Linux Distribution" /><category scheme="http://www.blogger.com/atom/ns#" term="Apache" /><title>安裝 Apache2</title><content type="html">&lt;span style="color: #660000;"&gt;安裝前的確認&lt;/span&gt;&lt;br /&gt;
要自行編譯原始檔，必須確認機器上有安裝 gcc 或是其它 ANSI-C 編譯器，以及 apr/apr-util&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #660000;"&gt;下載 Apache2 目前版本 2.2.11&lt;/span&gt; &lt;br /&gt;
&lt;pre class='brush:bash;'&gt;# wget http://ftp.mirror.tw/pub/apache/httpd/httpd-2.2.11.tar.gz&lt;/pre&gt;
&lt;span style="color: #660000;"&gt;解壓縮&lt;/span&gt; &lt;br /&gt;
&lt;pre class='brush:bash;'&gt;# tar -zxf httpd-2.2.11.tar.gz&lt;/pre&gt;
&lt;span style="color: #660000;"&gt;配置編譯參數&lt;/span&gt; &lt;br /&gt;
&lt;pre class='brush:bash;'&gt;#cd httpd-2.2.11
#./configure \
--prefix=/usr/local/apache2 \
--enable-so \
--enable-ssl \
--enable-rewrite \
--enable-deflate \
--enable-cache \
--enable-mem-cache \
--enable-file-cache \
--enable-disk-cache \
--enable-mods-shared=most&lt;/pre&gt;
其中，/usr/local/apache2 是 Apache2 標準的安裝路徑，這是可自行選擇的，在 config.layout 中有許多安裝範本可供參考。 &lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #660000;"&gt;安裝 Apache2&lt;/span&gt; &lt;br /&gt;
&lt;pre class='brush:bash;'&gt;#make
#make install&lt;/pre&gt;
&lt;span style="color: #660000;"&gt;啟動及關閉 Apache2&lt;/span&gt; &lt;br /&gt;
&lt;pre class='brush:bash;'&gt;/usr/local/apache2/bin/apachectl -k start
/usr/local/apache2/bin/apachectl -k stop&lt;/pre&gt;
啟動後，開啟瀏覽器 http://ip ，測試 Apache2 是否正常運作&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #660000;"&gt;開機自動啟動&lt;/span&gt;&lt;br /&gt;
由於 tarball 方式安裝的 Apache2 ，不會在 setup 內的 System Service 出現，所以必需自行處理自動啟動的部份。 &lt;br /&gt;
&lt;pre class='brush:bash;'&gt;#cd /etc/init.d
#vi apache2&lt;/pre&gt;
將以下代碼貼上 &lt;br /&gt;
&lt;pre class='brush:bash;'&gt;#!/bin/sh
# description: Apache auto start-stop script.
# chkconfig: - 85 15
APACHE_HOME=/usr/local/apache2
APACHE_OWNER=root
if [ ! -f "$APACHE_HOME/bin/apachectl" ]
 then
 echo "Apache startup: cannot start"
exit
fi
case "$1" in
'start')
su - $APACHE_OWNER -c "$APACHE_HOME/bin/apachectl -k start"
;;
'stop')
su - $APACHE_OWNER -c "$APACHE_HOME/bin/apachectl -k stop"
;;
'restart')
su - $APACHE_OWNER -c "$APACHE_HOME/bin/apachectl restart"
;;
esac
&lt;/pre&gt;
存檔後離開，執行下列命令： &lt;br /&gt;
&lt;pre class='brush:bash;'&gt;#chmod +x apache2
#chkconfig --add apache2
#chkconfig --level 345 apache2 on&lt;/pre&gt;
測試上面的動作有沒有問題 &lt;br /&gt;
&lt;pre class='brush:bash;'&gt;#service apache2 start
#service apache2 stop&lt;/pre&gt;
重新開機，檢查 Apache2 是否有自動啟動，若一切正常，那就大功告成囉&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #660000;"&gt;錯誤訊息&lt;/span&gt;&lt;br /&gt;
如果沒有 gcc 及 apr / apr-util，在編譯階段會出現以下錯誤 &lt;br /&gt;
&lt;pre class='brush:bash;'&gt;checking for chosen layout... Apache
checking for working mkdir -p... yes
checking build system type... i686-pc-linux-gnuoldld
checking host system type... i686-pc-linux-gnuoldld
checking target system type... i686-pc-linux-gnuoldld


Configuring Apache Portable Runtime library ...
checking for APR... reconfig

configuring package in srclib/apr now
checking build system type... i686-pc-linux-gnuoldld
checking host system type... i686-pc-linux-gnuoldld
checking target system type... i686-pc-linux-gnuoldld

Configuring APR library
Platform: i686-pc-linux-gnuoldld
checking for working mkdir -p... yes
APR Version: 1.3.3
checking for chosen layout... apr
checking for gcc... no
checking for cc... no
checking for cl.exe... no

configure: error: in `/root/httpd-2.2.11/srclib/apr':
configure: error: no acceptable C compiler found in $PATH

See `config.log' for more details.

configure failed for srclib/apr&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/796810736348108756-873748382974378544?l=webhd01.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/1blEdaWqRZLglZCj1ZCoKslngFg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1blEdaWqRZLglZCj1ZCoKslngFg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/1blEdaWqRZLglZCj1ZCoKslngFg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1blEdaWqRZLglZCj1ZCoKslngFg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/QWfOQU/~4/BFrijD_mMC0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://webhd01.blogspot.com/feeds/873748382974378544/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://webhd01.blogspot.com/2009/08/apache2_16.html#comment-form" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/796810736348108756/posts/default/873748382974378544?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/796810736348108756/posts/default/873748382974378544?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/QWfOQU/~3/BFrijD_mMC0/apache2_16.html" title="安裝 Apache2" /><author><name>Kalvin</name><uri>http://www.blogger.com/profile/01840266551993498978</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/_ec1p8JsJSAg/TIrsPWCAS6I/AAAAAAAACG8/wWMJDGq7uFw/s1600/aboutme.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://webhd01.blogspot.com/2009/08/apache2_16.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0QGRXo7eip7ImA9Wx9SEko.&quot;"><id>tag:blogger.com,1999:blog-796810736348108756.post-723732320016242047</id><published>2009-08-16T01:50:00.005+08:00</published><updated>2010-12-02T16:42:04.402+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-02T16:42:04.402+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Samba" /><category scheme="http://www.blogger.com/atom/ns#" term="Linux Distribution" /><title>安裝 Samba</title><content type="html">由於安裝 RedHat 8 時，沒有安裝 Samba，臨時需要用到，最快的安裝方法就是，拿出你的 RedHat 8 光碟片，直接從光碟片內安裝，最省時省事。&lt;br /&gt;
&lt;br /&gt;
確認掛載目錄是否存在&lt;br /&gt;
&lt;pre class='brush:bash;'&gt;
#cd /mnt/cdrom&lt;/pre&gt;
若無，則手動建立這個目錄&lt;br /&gt;
&lt;pre class='brush:bash;'&gt;
#mkdir /mnt/cdrom&lt;/pre&gt;
掛載光碟片&lt;br /&gt;
&lt;pre class='brush:bash;'&gt;
# mount -t iso9600 /dev/cdrom /mnt/cdrom&lt;/pre&gt;
進入光碟所在目錄&lt;br /&gt;
&lt;pre class='brush:bash;'&gt;
#cd /mnt/cdrom&lt;/pre&gt;
進入RPMS目錄&lt;br /&gt;
&lt;pre class='brush:bash;'&gt;
#cd /RedHat/RPMS&lt;/pre&gt;
找看看 samba 的 rpm 有沒有在這一片光碟裡&lt;br /&gt;
&lt;pre class='brush:bash;'&gt;
#ls|grep samba&lt;/pre&gt;
&amp;gt;&amp;lt;很抱歉，沒有，那就要換一片看看了，先卸載光碟&lt;br /&gt;
&lt;pre class='brush:bash;'&gt;
#umount /mnt/cdrom&lt;/pre&gt;
換第二片，嘿嘿，有了，那就來開始安裝吧&lt;br /&gt;
&lt;pre class='brush:bash;'&gt;
#rpm -ivh samba-2.2.5-10.i386.rpm samba-client-2.2.5-10.i386 samba-common-2.2.5-10.i386.rpm&lt;/pre&gt;
喔喔，有錯誤訊息&lt;br /&gt;
&lt;pre class='brush:bash;'&gt;
warning: samba-2.2.5-10.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e
error: open of samba-client-2.2.5-10.i386 failed: No such file or directory&lt;/pre&gt;
解決辦法，重新匯入 RPM-GPG-KEY&lt;br /&gt;
&lt;pre class='brush:bash;'&gt;
#rpm --import /mnt/cdrom/RPM-GPG-KEY&lt;/pre&gt;
重新安裝一次，結果，GPG 的問題解決了，剩下這個 &lt;br /&gt;
&lt;pre class='brush:bash;'&gt;
error: open of samba-client-2.2.5-10.i386 failed: No such file or directory&lt;/pre&gt;
不知道問題的所在，只好一個一個來，先只安裝 samba-2.2.5-10.i386.rpm 吧&lt;br /&gt;
&lt;pre class='brush:bash;'&gt;
#rpm -ivh samba-2.2.5-10.i386.rpm&lt;/pre&gt;
喔，有相依性問題&lt;br /&gt;
&lt;pre class='brush:bash;'&gt;
    error: Failed dependencies:
    perl(CGI) is needed by samba-2.2.5-10
&lt;/pre&gt;
那就裝上 perl(CGI) 吧&lt;br /&gt;
&lt;pre class='brush:bash;'&gt;
#rpm -ivh perl-CGI-2.81-55.i386.rpm&lt;/pre&gt;
再重新裝 samba-2.2.5-10.i386.rpm，這次 OK 了&lt;br /&gt;
再來裝 samba-common-2.2.5-10.i386.rpm，也OK&lt;br /&gt;
再裝 samba-client-2.2.5-10.i386 ，也是 OK ，噗，真好笑&lt;br /&gt;
因為只是臨時需要用到 samba ，我的要求是只要能在網芳上看到這台機器就好了，所以設定檔也不想搞得太複雜，samba 的設定檔位置在 /etc/samba/smb.conf&lt;br /&gt;
找到下列字串，依實際情況修改&lt;br /&gt;
&lt;pre class="txt"&gt;
workgroup = MSHOME
host allow =192.168.1
&lt;/pre&gt;
存檔後離開，開啟 (重開) samba&lt;br /&gt;
&lt;pre class='brush:bash;'&gt;
#service smb restart&lt;/pre&gt;
samba 的使用者認證機制和 Linux 系統的認證機制是分開的，所以必須將使用者加入 samba&lt;br /&gt;
&lt;pre class='brush:bash;'&gt;
# smbpasswd -a kalvin&lt;/pre&gt;
連續輸入二次密碼後，完成，這樣就可以在網芳中看到使用者在 Linux 上的家目錄了&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/796810736348108756-723732320016242047?l=webhd01.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/EXqhpF1qk24R-mhJ3U9KAdhl6gQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EXqhpF1qk24R-mhJ3U9KAdhl6gQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/EXqhpF1qk24R-mhJ3U9KAdhl6gQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EXqhpF1qk24R-mhJ3U9KAdhl6gQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/QWfOQU/~4/CA1x3-vB7OY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://webhd01.blogspot.com/feeds/723732320016242047/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://webhd01.blogspot.com/2009/08/samba_16.html#comment-form" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/796810736348108756/posts/default/723732320016242047?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/796810736348108756/posts/default/723732320016242047?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/QWfOQU/~3/CA1x3-vB7OY/samba_16.html" title="安裝 Samba" /><author><name>Kalvin</name><uri>http://www.blogger.com/profile/01840266551993498978</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/_ec1p8JsJSAg/TIrsPWCAS6I/AAAAAAAACG8/wWMJDGq7uFw/s1600/aboutme.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://webhd01.blogspot.com/2009/08/samba_16.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0MBSXg6eSp7ImA9Wx9SEko.&quot;"><id>tag:blogger.com,1999:blog-796810736348108756.post-1003369736040222681</id><published>2009-08-16T01:35:00.006+08:00</published><updated>2010-12-02T16:44:18.611+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-02T16:44:18.611+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Samba" /><category scheme="http://www.blogger.com/atom/ns#" term="Linux Distribution" /><title>Samba 設定檔</title><content type="html">底下是我個人目前使用 Samba 的設定檔狀況，唉，年紀大了，常會忘東忘西的，還是把它記下來，免得哪天機器出狀況了，還得要重新想怎麼設定，噗~&lt;br /&gt;
使用 RedHat 8 自帶的 Samba RPM 包安裝的 Samba，它的設定檔路徑為 /etc/samba/smb.conf&lt;br /&gt;
&lt;pre class='brush:bash;'&gt;
#======= 主機整體參數設定 =======

#global 區段為主機整體參數設定部份
[global]

#設定工作群組的名稱
workgroup = MSHOME

#這個字串會出現在網路芳鄰中對這台機器的描述
server string = Samba Server

#設定允許存取 Samba 的網域
;hosts allow = 192.168.1. 192.168.2. 127.
host allow = 192.168.1.

printcap name = /etc/printcap
load printers = yes

printing = lprng

;guest account = pcguest

log file = /var/log/samba/%m.log

max log size = 0

#設定 Samba 的登入機制，共有四種，分別為 user,share,server(domain)
#詳細說明在 /usr/share/doc/samba-2.2.5/docs/textdocs 目錄下
#user 模式表示使用 Samba 本身的密碼資料庫
security = user

;password server = &lt;NT-Server-Name&gt;

;password level = 8
;username level = 8

encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd

;ssl CA certFile = /usr/share/ssl/certs/ca-bundle.crt

unix password sync = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *New*password* %n\n *Retype*new*password* %n\n *passwd:*all*authentication*tokens*updated*successfully*

pam password change = yes

;username map = /etc/samba/smbusers

;include = /etc/samba/smb.conf.%m

obey pam restrictions = yes

socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

;interfaces = 192.168.12.2/24 192.168.13.2/24

;remote browse sync = 192.168.3.25 192.168.5.255
;remote announce = 192.168.1.255 192.168.2.44

;local master = no

;os level = 33

;domain master = yes

;preferred master = yes

 
;domain logons = yes

;logon script = %m.bat
;logon script = %U.bat

;logon path = file://%25l/Profiles/%25U;wins support = yes

;wins server = w.x.y.z

;wins proxy = yes

dns proxy = no

;preserve case = no
;short preserve case = no
;default case = lower
;case sensitive = no

#======= 分享目錄定義 =======
#Samba 的使用者必須在 Linux 上擁有實際帳號，登入後會自動將家目錄設為分享目錄
[homes]
   comment = Home Directories
   browseable = no
   writable = yes
   valid users = %S
   create mode = 0664
   directory mode = 0775
;map to guest = bad user

#將網站文件根目錄分享給網頁製作者
[Apache2]
  comment = Apache2 web root
  writable = yes
  valid users = kalvin
  create mode=0664
  directory mode = 0755
  path = /usr/local/apache2/htdocs

#將Red5文件目錄分享給Red5管理者
[Red5]
  comment = Red5 Webapps root
  writable = yes
  valid users = kalvin
  create mode=0664
  directory mode = 0755
  path= /opt/red5/

; [netlogon]
;   comment = Network Logon Service
;   path = /usr/local/samba/lib/netlogon
;   guest ok = yes
;   writable = no
;   share modes = no


;[Profiles]
;    path = /usr/local/samba/profiles
;    browseable = no
;    guest ok = yes


[printers]
   comment = All Printers
   path = /var/spool/samba
   browseable = no
# Set public = yes to allow user 'guest account' to print
   guest ok = no
   writable = no
   printable = yes

;[tmp]
;   comment = Temporary file space
;   path = /tmp
;   read only = no
;   public = yes

;[public]
;   comment = Public Stuff
;   path = /home/samba
;   public = yes
;   writable = yes
;   printable = no
;   write list = @staff
&lt;/pre&gt;
當修改完成後，可以使用 testparm 這個指令，檢查是否有參數設定上的錯誤
&lt;br /&gt;&lt;br/&gt;
上例中&lt;span style="color: blue;"&gt;[Apache2]&lt;/span&gt;和&lt;span style="color: blue;"&gt;[Red5]&lt;/span&gt;區塊部份，是我為了方便在內部修改網站所做的設定，可以透過網芳將 Apache 的根目錄設為 Dreamweaver 的遠端網站根目錄，以及提供 Flex3 Builder 直接發佈 Red5 app，可免去開啟 FTP 的風險。&lt;br /&gt;
&lt;br /&gt;
由於 Samba 的權限還是受作業系統權限的控制，所以相對的，/user/local/apache2/htdocs 這個目錄以及 kalvin 這個帳號都得做適當的修改，我的做法是將 kalvin 這個使用者加入 adm 群組 ( 系統預設 GID 4)：&lt;br /&gt;
&lt;pre class='brush:bash;'&gt;
#vi /etc/group&lt;/pre&gt;
編輯這一行&lt;br /&gt;
&lt;pre class="txt"&gt;
adm:x:4:root,adm,daemon,&lt;span style="color: red;"&gt;kalvin&lt;/span&gt;&lt;/pre&gt;
再來進到 /user/local/apache2 目錄內，改變 htdocs 目錄所屬群組為 adm&lt;br /&gt;
&lt;pre class='brush:bash;'&gt;
#chgrp adm htdocs&lt;/pre&gt;
改變目錄權限&lt;br /&gt;
&lt;pre class='brush:bash;'&gt;
#chmod 775 htdocs&lt;/pre&gt;
如此即可達成我要的目的了，僅供參考&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/796810736348108756-1003369736040222681?l=webhd01.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/JYSqUbJI0zdNwdLt12llX87w_zQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JYSqUbJI0zdNwdLt12llX87w_zQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/JYSqUbJI0zdNwdLt12llX87w_zQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JYSqUbJI0zdNwdLt12llX87w_zQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/QWfOQU/~4/JdhObiGCnLs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://webhd01.blogspot.com/feeds/1003369736040222681/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://webhd01.blogspot.com/2009/08/samba.html#comment-form" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/796810736348108756/posts/default/1003369736040222681?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/796810736348108756/posts/default/1003369736040222681?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/QWfOQU/~3/JdhObiGCnLs/samba.html" title="Samba 設定檔" /><author><name>Kalvin</name><uri>http://www.blogger.com/profile/01840266551993498978</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/_ec1p8JsJSAg/TIrsPWCAS6I/AAAAAAAACG8/wWMJDGq7uFw/s1600/aboutme.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://webhd01.blogspot.com/2009/08/samba.html</feedburner:origLink></entry></feed>

