?? bootdisk-howto-10.html
字號:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>10</title>
</head>
<body>
<table>
<tr>
<td bgColor="#FFFFFF" vAlign="top"><a href="Bootdisk-HOWTO-11.html"><img alt="Next" src="next.gif" width="16" height="16"></a>
<a href="Bootdisk-HOWTO-9.html"><img alt="Previous" src="prev.gif" width="16" height="16"></a> <a href="Bootdisk-HOWTO.html#toc10"><img alt="Contents" src="toc.gif" width="16" height="16"></a>
<hr>
<h2><a name="s10">10. 常見問題 (FAQ) 列表 -- Frequently Asked
Question (FAQ) list</a></h2>
<p>
<p><em>Q. 我從我的 boot/root
磁片開機,但是什麼都跑不出來。我現(xiàn)在怎麼辦 ?</em>
<p>
<p>請看之前的 <a href="http://www.linux.org.tw/CLDP/Bootdisk-HOWTO-7.html#Troubleshooting">Troubleshooting</a>
這節(jié)。
<p><em>Q. Slackware/Debian/RedHat 的 bootdisk 如何運作 ?</em>
<p>
<p>請看之前的 <a href="http://www.linux.org.tw/CLDP/Bootdisk-HOWTO-9.html#Pros">What
the pros do</a> 這節(jié)。
<p><em>Q. 我要如何以 XYZ 驅(qū)動程式製作一張開機磁片 ?</em>
<p>
<p>最簡單的方法是去從離你最近的 Slackware
映射站拿到一個 Slackware 的 kernel 。 Slackware 的 kernel
是一般的 (generic) kernel ,這些 kernel
企圖將許多設(shè)備的驅(qū)動程式儘可能地包含於其中,因此,假如你有一個
SCSI或IDE控制器,試試看,很有可能它的驅(qū)動程式會在
Slackware 的 kernel 當中。
<p>找到 a1 目錄,並且依據(jù)你所擁有的控制器種類,選擇
IDE 或 SCSI 兩者之一的 kernel 。對所選擇的 kernel 檢視其
xxxxkern.cfg 檔,並且去了解這份 kernel
中所擁有的驅(qū)動程式。如果你想要使用的設(shè)備在這份列表中,那麼這個符合的
kernel 就應(yīng)該能用來開機。下載 xxxxkern.tgz
檔,並且用之前在有關(guān) making boot disks
的章節(jié)中所描述之方法, copy 它到你的開機磁片中。 <!--
device drivers
-->
<p>然後你必須檢查在 kernel 中的 root 設(shè)備,使用 <code>rdev
zImage</code> 這個指令。接著 rdev 將顯示目前在 kernel 中的
root 設(shè)備。如果這和你所想要的 root 設(shè)備不同,那麼使用
<code>rdev</code> 改變它。舉例來說,我試的 kernel 設(shè)定到
/dev/sda2 ,但是我的 root SCSI partition 是 /dev/sda8
。為了能使用 root 磁片,你將必須使用這個指令 <code>rdev
zImage </code>dev/fd0/ 。
<p>假如你還想知道如何 set up 一張 Slackware 的 root
磁片,這就已經(jīng)超出這份 HOWTO
的範圍,所以我建議你查閱 Linux Install Guide
,或是設(shè)法取得 Slackware distribution 。詳情請看在這份
HOWTO 中,標題為 ``Reference'' 的章節(jié)。
<p><em>Q. 我如何以新的檔案更新我的 root 磁片 ?</em>
<p><!--
root filesystems, updating
-->
<p>最簡單的方法是從 rootdisk copy
檔案系統(tǒng)回你所使用的那個 DEVICE (從之前的 <a href="http://www.linux.org.tw/CLDP/Bootdisk-HOWTO-4.html#CreatingRootFS">Creating
the filesystem</a> 這節(jié)而得的)。然後掛上這個檔案系統(tǒng)並且進行改變動作。你必須記住你的
root 檔案系統(tǒng)從哪裡開始,以及它佔了多少 block:
<pre> dd if=/dev/fd0 bs=1k skip=ROOTBEGIN count=BLOCKS | gunzip > DEVICE
mount -t ext2 DEVICE /mnt
</pre>
在完成改變之後,如同之前一樣進行下去 (在 <a href="http://www.linux.org.tw/CLDP/Bootdisk-HOWTO-4.html#WrappingItUp">Wrapping
it up</a> 這節(jié)中) ,並且把 root filesystem
傳送回那張磁片上。如果你並沒有改變新的 root filesystem
的啟始位置,你應(yīng)該不用再重傳 kernel ,或是重新計算
ramdisk 的 word。
<p><em>Q. 我要如何移除 LILO ,好讓我能再用 DOS 開機 ?</em>
<p><!--
Master Boot Record (MBR)
-->
<!--
LILO
-->
<p>這個問題並非真的是 Bootdisk
的一個主題,只是這個問題常常被問到。在 Linux
的環(huán)境下,你可以執(zhí)行:
<blockquote>
<code>
<pre> /sbin/lilo -u
</pre>
</code>
</blockquote>
<p>你也可以使用 <code>dd</code> 這個指令把被 LILO
所儲存的備份, copy
到開機磁區(qū)上。如果你想要這樣做,請參考 LILO
的文件。
<p>在 DOS 與 Windows 的環(huán)境下,你可以使用這個 DOS 指令:
<blockquote>
<code>
<pre> FDISK /MBR
</pre>
</code>
</blockquote>
MBR 是 Master Boot Record(主要開機記錄)的縮寫,它會用一個乾淨的
DOS
開機磁區(qū),替換原本的開機磁區(qū),而且這個動作不會影響
partition table 。一些有潔癖的人 (purists)
並不同意這一點,可是就連 LILO 的原作者, Werner
Almesberger ,都同意此作法。這個作法簡單,而且有用。
<p><em>Q. 如果我遺失了我的 kernel 與
我的開機磁片,我要如何開機 ?</em>
<p>
<p>如果你並沒有一張已準備好的開機磁片,最簡單的作法可能是要依照你的磁碟控制器類型
(IDE 或 SCSI) 取得一份 Slackware kernel ,如同之前所述的 ``我如何用XXX驅(qū)動程式製作一張開機磁片
?'' 。然後你就可以用這個 kernel
開機,接著修理有損壞的地方。
<p>你取得的 kernel 可能沒有與你想要的磁碟種類和
partition 相對應(yīng)的 root 設(shè)備集。舉例來說, Slackware 的
generic SCSI kernel 有與 /dev/sda2 相對應(yīng)的 root設(shè)備集,然而,我的
root Linux partition 是在 /dev/sda8 。在此情況下, kernel 中的
root 設(shè)備將必須被改變。
<p>你仍然可以改變 kernel 的 root 設(shè)備與 ramdisk
的設(shè)定,縱使你手上只有一個 kernel
和某種其它的作業(yè)系統(tǒng),像 DOS 。
<p><code>rdev</code> 藉著改變在 kernel
檔案裡,在固定位移位置 (offset) 上的值,來改變 kernel
的設(shè)定,因此,如果你手上有一個 hex 編輯器 (on whatever
systems you do still have running) ,你可以完成相同的事 --
例如在 DOS 環(huán)境下的 Norton Utilities Disk Editor
。接著,你需要進行檢查,如果必要的話,你得改變
kernel 檔案裡,在以下位移位置上的值: <!--
ramdisk word
-->
<!--
rdev
-->
<p>
<blockquote>
<code>
<pre>HEX(16進位) DEC(10進位) DESCRIPTION(用途描述)
0x01F8 504 RAMDISK word的低字元組 (Low byte of RAMDISK word)
0x01F9 505 RAMDISK word的高字元組 (High byte of RAMDISK word)
0x01FC 508 Root minor設(shè)備號碼 - 詳見其後
0X01FD 509 Root major設(shè)備號碼 - 詳見其後
</pre>
</code>
</blockquote>
<p>關(guān)於 ramdisk word 之解釋,寫在之前的 <a href="http://www.linux.org.tw/CLDP/Bootdisk-HOWTO-6.html#SettingRamdiskWord">Setting
the ramdisk word</a> 這節(jié)裡。
<p>Major 與 minor 設(shè)備號碼必須設(shè)成你想要掛你的 root
filesystem
於其上的設(shè)備。一些可供選擇的有用參考數(shù)值如下:
<blockquote>
<code>
<pre>DEVICE MAJOR MINOR
/dev/fd0 2 0 第一臺軟碟機
/dev/hda1 3 1 在第一顆IDE硬碟上的partition 1
/dev/sda1 8 1 在第一顆SCSI硬碟上的partition 1
/dev/sda8 8 8 在第一顆SCSI硬碟上的partition 8
</pre>
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -