• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            斜樹的空間

            集中精力,放棄一切的去做一件事情,只要盡力了,即使失敗了,你也不會后悔!

              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
              47 隨筆 :: 0 文章 :: 12 評論 :: 0 Trackbacks

            #

            qemu 用起來確實比bochs快很多了。
            并且也沒有出現(xiàn)像bochs切換后就無法相應(yīng)鍵盤的情況。

            qemu安裝dos步驟:
            qemu-img create dos.img 50M
            qemu -hda dos.img -cdrom dos72.iso -boot d                                ==========(here a mean boot from first floppy, c mean boot from first hard-disk, d boot from
                                                                                                             ==========(first CD          

            如果時兩張光盤,換盤的時候按control+alt+2到了一個 shell下面,提示符是(qemu),跟bash一樣,可以命令tab補齊的我們可以直接輸入命令,change fda DOS71_2.IMG這樣就可以了



            posted @ 2010-10-19 12:33 張貴川 閱讀(328) | 評論 (0)編輯 收藏

            ps:再轉(zhuǎn)一篇南北的字體修改教程。我在fedora 13中實踐成功。當中有些文件稍有改變。具體安裝的時候靈活找一下。

            作者:北南南北
            來自:LinuxSir.Org
            摘要:在Fedora Core 5.0中,對中文支持極為友好,我們可以自己添加自己的字體,以適合我們做文檔、圖形的需要。這樣有更多的字體供我們選擇;現(xiàn)在把簡單的方法說一下。可能 也不太簡單,還是要改一改文件的。初學的弟兄看看吧,可能一下就會了;


            目錄


            +++++++++++++++++++++++++++++++++++++++
            正文
            +++++++++++++++++++++++++++++++++++++++


            1、首先我們要在/usr/share/fonts/chinese目錄中建一個文件夾;

            比如名為custom

            [root@localhost ~]# mkdir /usr/share/fonts/chinese/custom

            然后把您的字體復(fù)制過去就行了;比如我把Windows中的所有字體都復(fù)制過去了。里面有Tahoma,Simsun,STSONG ... ...

            然后再執(zhí)行;

            [root@localhost ~]# chmod -R 755  /usr/share/fonts/chinese/custom

            當然要用到超級權(quán)限,如果您用的是普通用戶,要用su 切換到root ,這個我們在前面的超級權(quán)限控制中有講到;您不妨查一下文檔;


            2、執(zhí)行ttmkfdir命令在字體目錄;

            首先我們進入 /usr/share/fonts/chinese/custom目錄;

            [root@localhost ~]# cd /usr/share/fonts/chinese/custom/

            然后執(zhí)行;

            [root@localhost custom]# ttmkfdir -e  /usr/share/X11/fonts/encodings/encodings.dir

            這樣就生成一個fonts.scale的文件;自己看看吧。

            3、更改fonts.conf文件,添加我們添加字體的目錄;(可選)

            在/etc/fonts目錄中找到 fonts.conf文件,然后添加如下一行;

            /usr/share/fonts/chinese/custom

            添加到哪呢?找一找吧,下面是添加成功后的示例;

            <!-- Font directory list -->
            <dir>/usr/share/fonts/chinese/custom</dir>
            <dir>/usr/share/fonts</dir>


            4、更改 /etc/X11/xorg.conf文件;(可選)

            在 FontPath "unix/:7100"一行的前面加上一行如下;

            FontPath "/usr/share/fonts/chinese/custom"

            退出桌面,或者重啟xfs服務(wù)器;

            您可以按ctrl+alt+backspace組合鍵;
            也可以以root權(quán)限執(zhí)行

            [root@localhost beinan]# /etc/init.d/xfs restart
            重新啟動 xfs:
            關(guān)閉 xfs:                                                 [確定]
            啟動 xfs:                                                 [確定]


            5、應(yīng)用程序的設(shè)置;

            這個就簡單了吧,在程序上用什么字體,就自己選擇一下,也沒有什么難的;不過桌面字體可能要設(shè)置一下。如果您認為不好的話;


            5.1 GNOME桌面環(huán)境的的字體設(shè)置;

            桌面->首選項->字體

            我設(shè)置的內(nèi)容如下:

            桌面程序字體 Tahoma 10
            文檔字體 Tahoma 10
            桌面字體 Tahoma 10
            窗口標題字體 Tahoma Bold 11
            等寬字體 Monospace

            字體渲染 最佳形狀


            5.2 Firefox 瀏覽器的字體設(shè)置;

            編輯->首選項->內(nèi)容->字體和顏色->高級

            語言編碼:簡體中文
            比例字體:無襯線字體 大小:16
            襯線字體:Tahoma
            無襯線字體:Tahoma
            等寬字體:Monospace 大小:16
            屏幕解析度:96dpi 最小字體:12

            要把允許頁面選擇字體而無需使用上面的字體選中;

            默認字體編碼可以不用設(shè)置,自己看著辦吧;

            5.3 關(guān)于OpenOffice 的字體設(shè)置;

            OpenOffice的默認字體可能不適合我們的需要,我們習慣用宋體,也就是simsun字體;所以這時我們要設(shè)置一下。

            工具->選項->語言設(shè)定 ,在這個選項里,自己點點看吧;大部份不用設(shè)置;

            工具->選項->OpenOffice Writer

            標準字體西文:我用的都是Tahoma;
            標準字體(中日韓):我都設(shè)置成了simsun;

            5.4 AbiWord的字體設(shè)置;

            AbiWord的文檔字體,如果用默認的話,一般是打不上字的,這時我們要改一下模板;

            一般的情況下AbiWord 安裝在 /usr/share/AbiSuite-2.4目錄中,這個需要您自己找找看了。我們在以前有說過怎么查找軟件的安裝目錄;

            我們找到/usr/share/AbiSuite-2.4/templates,然后找到 normal.awt-zh_CN 文件;最好您先備份一下;

            找到如下的字樣;

            font-family:Times New Roman;

            改為:

            font-family:font-family:STSong;

            當然您得有STSong這個字體,我們在前面提到的復(fù)制字體的事,那是個前提;


            6、存在的問題;


            好象添加上字體后,系統(tǒng)的速度就降了下來,第一次進入桌面時有點遲鈍;大家測試一下看看吧;

            7、關(guān)于本文;

            沒有技術(shù)含量,不值不提;老酒裝在新瓶里,還是那瓶酒;實踐是檢測真理的唯一標準;

            8、后記;

            希望能看到大家分享自己的學習成果,分享你我的快樂;幫助他人和得到幫助,都是一種快樂,不是嗎?
            這段時間,我沒有太多的時間 ,今年的事情特別多,有時得在早上或者晚上寫文檔,至于修改都放在白天進行,白天沒有大塊的時間 ,請大家理解理解;謝謝;
            如果有一點時間,我也會接著寫文檔的,“時間是海綿里的水,一擠就有了”,呵。。。。。。

            繼續(xù)之中。。。。。

            9、相關(guān)文檔;

            posted @ 2010-10-19 10:39 張貴川 閱讀(1036) | 評論 (0)編輯 收藏

            bochs這個很拉風的虛擬機。卻有一個讓我郁悶的問題:
            每次進入虛擬機后,比如進入了free-dos,然后切換回終端,再次切換回來后就無法相應(yīng)鍵盤輸入了。
            及每次失去焦點后就無法再次相應(yīng)鍵盤了。大小寫鍵可以相應(yīng)。
            問趙博,他的機子可以,看配置,一樣。蛋疼的是我的就時會有這樣的毛病,時而相應(yīng),時而死機。
            目前位置還是沒有找到方法解決。

            /**********************************************************/
            今天終于蛋疼的找到bochs不能相應(yīng)的原因了。
            我平常 切換 軟件 都使用 ALT + TAB 組合鍵切換,原來bochs對這兩個按鍵相應(yīng)有問題。
            用alt + tab 切換 后 再切換回去就 不響應(yīng)鍵盤了。
            如果是用鼠標切換,那就可以相應(yīng)了!

            這是一個習慣的郁悶問題!
                                              ----------------------------10.22

            偶然發(fā)現(xiàn)原來也可以使bochs相應(yīng)切換后的按鍵問題了。
            從其他程序切換回來后,再按一下alt鍵就又可以輸入了。。。^_^。
            這時我調(diào)alt + tab 換為 ctrl + tab 組合鍵作切換程序的時候,發(fā)現(xiàn)切換回來后再按下ctrl鍵就又可以繼續(xù)輸入。不然還是和以前一樣。
            再調(diào)回 alt + tab,道理一樣,再按下 alt 鍵又可以繼續(xù)輸入了。。。。
            /********************************************************/
            我的調(diào)試新技巧:
            其實也不是新的,在ochsrc_sample.txt 有說明:
            在bochs的配置文件最后一句加上:magic_break:enabled=1, 然后在程序里加上xchg bx, bx, 在bochs運行到這里的時候就會停止,這樣就可以繼續(xù)調(diào)試下去.....
            用 xp /nuf  addr                 如:xp /10bx  0x00500000, 
            最好用help x  查看xp 和 x 的命令使用方法。個人喜歡用的  x /10mx  es:edi   用mx 組合.
            查看內(nèi)存內(nèi)容暫時不會。以及GDB+BOCHS調(diào)試也還不會.....

            當然,還又其他的調(diào)試方法,這需要去研究鉤子一類的東西,我研究了就發(fā)上來:
            posted @ 2010-10-19 10:36 張貴川 閱讀(973) | 評論 (0)編輯 收藏

            grub

            修改grub文件,使啟動項指向該iso文件

            sudo gedit /boot/grub/menu.lst

            復(fù)制下面的部分到menu.lst文件

            title Ubuntu 9.10 LiveCD
            root (hd0,3)
            kernel /vmlinuz boot=casper iso-scan/filename=/ubuntu-9.10-desktop-i386.iso ro quiet splash locale=zh_CN.UTF-8
            initrd /initrd.lz
            boot

            說明:第二行的root (hd0,3)部分依據(jù)你的具體情況而定 如果你的/media/disk/位置是 (hd0,1) ,那么你就應(yīng)該設(shè)置為(hd0,1) 設(shè)置好后保存退出 多說一句,理論上來說把iso文件放在磁盤的任意位置(包括U盤)都是可以安裝的,但是hd編號你必須要搞清楚,盡量讓啟動安裝一次性成功。


            這里是從ubuntu liveCD安裝方法上找的一段東西。關(guān)鍵是注意 iso-scan 這句。這個只對ubuntu系統(tǒng)管用。

            如果是硬盤安裝debian系統(tǒng),從debian安裝CD上提取出來的vmlinuz 和 initrd.gz 是不能引導系統(tǒng)的。
            只有下載硬盤版的vmlinuz 和 initrd.gz 。可以從下面網(wǎng)址得到:
            http://mirror.switch.ch/ftp/pub/debian/dists/stable/main/installer-i386/current/images/hd-media/
            之后的grub安裝引導我就不多說了。
            多說一個grub使用的小技巧:
            >cat (hd0,                                     ---------------- 然后按tab鍵便可以看到所有hd0上的分區(qū)(不要再問可以看到分區(qū)又什么用)
            >cat (hd0, 3)/                                ----------------同上按tab鍵可以看到分區(qū)中的內(nèi)容(如能掛載)
             
            還有一點要說的是,grub 不支持ntfs文件系統(tǒng)。所以不要吧 vmlinuz 和 initrd.gz 和 鏡像放到 ntfs 格式的分區(qū)中。

            posted @ 2010-10-18 09:47 張貴川 閱讀(895) | 評論 (0)編輯 收藏

            作者:北南南北
            來自:LinuxSir.Org
            摘要: Linux文件系統(tǒng)是呈樹形結(jié)構(gòu),了解Linux文件系統(tǒng)的目錄結(jié)構(gòu),對于我們駕馭Linux還是有必要的。本文對Linux下比較重要的目錄加以解說, 以答初學者所說的“雜亂無章”目錄結(jié)構(gòu),給一個簡要的說明。


            目錄


            ++++++++++++++++++++++++++++++++++++++++++++++
            正文
            ++++++++++++++++++++++++++++++++++++++++++++++

            Linux文件系統(tǒng)結(jié)的結(jié)構(gòu)是樹形結(jié)構(gòu),其入口從/開始,了解Linux文件系統(tǒng)的結(jié)構(gòu),對于我們需要掌握的基礎(chǔ)知識點之一。


            1、什么是文件系統(tǒng);

            請參見:《Linux 文件系統(tǒng)概述》


            2、文件系統(tǒng)的組織結(jié)構(gòu)簡說;

            當您使用Linux的時候,如果您通過ls -la / 就會發(fā)現(xiàn),在/下包涵很多的目錄,比如etc、usr、var、bin ... ... 等目錄,而在這些目錄中,我們進去看看,發(fā)現(xiàn)也有很多的目錄或文件。文件系統(tǒng)在Linux下看上去就象樹形結(jié)構(gòu),所以我們可以把文件系統(tǒng)的結(jié)構(gòu)形象的稱為 樹形結(jié)構(gòu)。

            查看文件系統(tǒng)的結(jié)構(gòu),我們可以通過tree命令來實現(xiàn);

            [root@localhost ~]# tree

            不過tree 這個命令目前在Fedora Core 5.0 中已經(jīng)消失,在Slackware 10.2的版本中仍有保留。不過其它版本的Linux應(yīng)該有;由tree命令的輸出結(jié)果來看,最頂端應(yīng)該是/,我們稱/為Linux的root,也就是 Linux操作系統(tǒng)的文件系統(tǒng)。Linux的文件系統(tǒng)的入口就是/,所有的目錄、文件、設(shè)備都在/之下,/就是Linux文件系統(tǒng)的組織者,也是最上級的 領(lǐng)導者。

            下面我們把Linux文件系統(tǒng)的樹形結(jié)構(gòu)的主要目錄列一下,主要


            3、文件系統(tǒng)的組織結(jié)構(gòu)分析;

            文件系統(tǒng)的組織結(jié)構(gòu)分析,我們能分析什么呢?也就是當我們列/目錄時,所看到的/usr、/etc ... ... /var 等目錄是做什么用的,這些目錄是不是有些特定的用途。無論哪個哪個版本的Linux系統(tǒng),都有這些目錄,這些目錄應(yīng)該是標準的。當然各個Linux發(fā)行版 本也會存在一些小小的差異,但總體來說,還是大體差不多。

            Linux發(fā)行版本之間的差別其實很少,差別主要表現(xiàn)在系統(tǒng)管理的特色工具以及軟件包管理方式的不同,除此之外,沒有什么大的差別; 比如Fedora軟件包管理工具是rpm,而Slackware是pkgtool 或installpkg等;

            言歸正傳,我們接著說文件系統(tǒng)組織結(jié)構(gòu)。

            / Linux文件系統(tǒng)的入口,也是處于最高一級的目錄;

            /bin 基礎(chǔ)系統(tǒng)所需要的那些命令位于此目錄,也是最小系統(tǒng)所需要的命令;比如 ls、cp、mkdir等命令;功能和/usr/bin類似,這個目錄中的文件都是可執(zhí)行的,普通用戶都可以使用的命令。做為基礎(chǔ)系統(tǒng)所需要的最基礎(chǔ)的命 令就是放在這里。

            /boot Linux的內(nèi)核及引導系統(tǒng)程序所需要的文件,比如 vmlinuz initrd.img 文件都位于這個目錄中。在一般情況下,GRUB或LILO系統(tǒng)引導管理器也位于這個目錄;

            /dev 設(shè)備文件存儲目錄,比如聲卡、磁盤... ...

            /etc 系統(tǒng)配置文件的所在地,一些服務(wù)器的配置文件也在這里;比如用戶帳號及密碼配置文件;

            /home 普通用戶家目錄默認存放目錄;

            /lib 庫文件存放目錄

            /lost+found 在ext2或ext3文件系統(tǒng)中,當系統(tǒng)意外崩潰或機器意外關(guān)機,而產(chǎn)生一些文件碎片放在這里。當系統(tǒng)啟動的過程中fsck工具會檢查這里,并修復(fù)已經(jīng)損 壞的文件系統(tǒng)。 有時系統(tǒng)發(fā)生問題,有很多的文件被移到這個目錄中,可能會用手工的方式來修復(fù),或移到文件到原來的位置上。

            /media 即插即用型存儲設(shè)備的掛載點自動在這個目錄下創(chuàng)建,比如USB盤系統(tǒng)自動掛載后,會在這個目錄下產(chǎn)生一個目錄 ;CDROM/DVD自動掛載后,也會在這個目錄中創(chuàng)建一個目錄,類似cdrom 的目錄。這個只有在最新的發(fā)行套件上才有,比如Fedora Core 4.0 5.0 等。可以參看/etc/fstab的定義;

            /misc

            /mnt 這個目錄一般是用于存放掛載儲存設(shè)備的掛載目錄的,比如有cdrom 等目錄。可以參看/etc/fstab的定義。有時我們可以把讓系統(tǒng)開機自動掛載文件系統(tǒng),把掛載點放在這里也是可以的。主要看/etc/fstab中怎 么定義了;比如光驅(qū)可以掛載到/mnt/cdrom 。

            /opt 表示的是可選擇的意思,有些軟件包也會被安裝在這里,也就是自定義軟件包,比如在Fedora Core 5.0中,OpenOffice就是安裝在這里。有些我們自己編譯的軟件包,就可以安裝在這個目錄中;通過源碼包安裝的軟件,可以通過 ./configure --prefix=/opt/目錄 。

            /proc 操作系統(tǒng)運行時,進程(正在運行中的程序)信息及內(nèi)核信息(比如cpu、硬盤分區(qū)、內(nèi)存信息等)存放在這里。/proc目錄偽裝的文件系統(tǒng)proc的掛載 目錄,proc并不是真正的文件系統(tǒng),它的定義可以參見 /etc/fstab 。

            /root Linux超級權(quán)限用戶root的家目錄;

            /sbin 大多是涉及系統(tǒng)管理的命令的存放,是超級權(quán)限用戶root的可執(zhí)行命令存放地,普通用戶無權(quán)限執(zhí)行這個目錄下的命令,這個目錄和/usr/sbin; /usr/X11R6/sbin或/usr/local/sbin目錄是相似的; 我們記住就行了,凡是目錄sbin中包含的都是root權(quán)限才能執(zhí)行的。

            /tmp 臨時文件目錄,有時用戶運行程序的時候,會產(chǎn)生臨時文件。/tmp就用來存放臨時文件的。/var/tmp目錄和這個目錄相似。

            /usr 這個是系統(tǒng)存放程序的目錄,比如命令、幫助文件等。這個目錄下有很多的文件和目錄。當我們安裝一個Linux發(fā)行版官方提供的軟件包時,大多安裝在這里。 如果有涉及服務(wù)器配置文件的,會把配置文件安裝在/etc目錄中。/usr目錄下包括涉及字體目錄/usr/share/fonts ,幫助目錄 /usr/share/man或/usr/share/doc,普通用戶可執(zhí)行文件目錄/usr/bin 或/usr/local/bin 或/usr/X11R6/bin ,超級權(quán)限用戶root的可執(zhí)行命令存放目錄,比如 /usr/sbin 或/usr/X11R6/sbin 或/usr/local/sbin 等;還有程序的頭文件存放目錄/usr/include。

            /var 這個目錄的內(nèi)容是經(jīng)常變動的,看名字就知道,我們可以理解為vary的縮寫,/var下有/var/log 這是用來存放系統(tǒng)日志的目錄。/var/www目錄是定義Apache服務(wù)器站點存放目錄;/var/lib 用來存放一些庫文件,比如MySQL的,以及MySQL數(shù)據(jù)庫的的存放地;

            我們再補充一下一些比較重要的目錄的用途;

            /etc/init.d 這個目錄是用來存放系統(tǒng)或服務(wù)器以System V模式啟動的腳本,這在以System V模式啟動或初始化的系統(tǒng)中常見。比如Fedora/RedHat;
            /etc/xinit.d 如果服務(wù)器是通過xinetd模式運行的,它的腳本要放在這個目錄下。有些系統(tǒng)沒有這個目錄, 比如Slackware,有些老的版本也沒有。在Rehat/Fedora中比較新的版本中存在。

            /etc/rc.d 這是Slackware發(fā)行版有的一個目錄,是BSD方式啟動腳本的存放地;比如定義網(wǎng)卡,服務(wù)器開啟腳本等。

            /etc/X11 是X-Windows相關(guān)的配置文件存放地;
            比如下面的例子:

            [root@localhost ~]# /etc/init.d/sshd start   注:啟動sshd服務(wù)器
            [root@localhost ~]# /etc/init.d/sshd stop 注:停止sshd服務(wù)器
            啟動 sshd:                                                [確定]

            這就是典型的sshd 服務(wù)器 System V模式啟動腳本,通過這運行這個腳本可以啟動sshd服務(wù)器了。

            /usr/bin 這個目錄是可執(zhí)行程序的目錄,普通用戶就有權(quán)限執(zhí)行; 當我們從系統(tǒng)自帶的軟件包安裝一個程序時,他的可執(zhí)行文件大多會放在這個目錄。比如安裝gaim軟件包時。相似的目錄是/usr/local/bin; 有時/usr/bin中的文件是/usr/local/bin的鏈接文件;

            /usr/sbin 這個目錄也是可執(zhí)行程序的目錄,但大多存放涉及系統(tǒng)管理的命令。只有root權(quán)限才能執(zhí)行;相似目錄是/sbin 或/usr/local/sbin或/usr/X11R6/sbin等;

            /usr/local 這個目錄一般是用來存放用戶自編譯安裝軟件的存放目錄;一般是通過源碼包安裝的軟件,如果沒有特別指定安裝目錄的話,一般是安裝在這個目錄中。這個目錄下 面有子目錄。自己看看吧。

            /usr/lib 和/lib 目錄相似,是庫文件的存儲目錄;

            /usr/share 系統(tǒng)共用的東西存放地,比如 /usr/share/fonts 是字體目錄,是用戶都共用的吧。

            /usr/share/doc和/usr/share/man幫助文件,也是共用的吧;

            /usr/src 是內(nèi)核源碼存放的目錄,比如下面有內(nèi)核源碼目錄,比如 linux 、linux-2.xxx.xx 目錄等。有的系統(tǒng)也會把源碼軟件包安裝在這里。比如Fedora/Redhat,當我們安裝file.src.rpm的時候,這些軟件包會安裝在/usr /src/redhat相應(yīng)的目錄中。請參考: 《file.src.rpm 使用方法的簡單介紹》 。另外Fedhat 4.0 5.0,他的內(nèi)核源碼包的目錄位于/usr/src/kernels目錄下的某個目錄中(只有安裝后才會生成相應(yīng)目錄);

            /var/adm 比如軟件包安裝信息、日志、管理信息等,在Slackware操作系統(tǒng)中是有這個目錄的。在Fedora中好象沒有;自己看看吧。
            /var/log 系統(tǒng)日志存放,分析日志要看這個目錄的東西;
            /var/spool 打印機、郵件、代理服務(wù)器等假脫機目錄;


            4、本文未盡事宜;

            由于Linux發(fā)行版很多,總有一點差別,但總體上還是差不多。多列目錄看看就慢慢明白了。Windows的好多目錄,我們也不是一樣不知道它是用 來做什么的,但我們一樣用Windows。再說目前Linux一樣可以點鼠標來查看這些目錄,沒有什么難的。如果不會用命令,點鼠標總會看,對不對?


            5、關(guān)于本文;

            本文是Linux文件系統(tǒng)的一個組成部份,對于一個系列文檔來說,還是必不可缺的,它也是基礎(chǔ)文檔之一。因為我想能過本文引出Linux文件相關(guān)的 操作的文章 。為新手寫的... ....


            6、后記;

            寫文檔是一個堅持的過程,寫文檔還是給了我很多的樂趣 ,權(quán)限休閑而寫,并沒有感覺到有多痛苦;如果一件事被當成壓力,也沒有什么樂趣而言,如果果真如此,不如不做。在隨后,我可能寫一寫Linux文件相關(guān)的 內(nèi)容,比如創(chuàng)建、刪除、移動、屬性、權(quán)限等;


            7、參考文檔

            man fstab


            8、相關(guān)文檔

            《Linux 文件系統(tǒng)概述》


            posted @ 2010-10-17 08:18 張貴川 閱讀(226) | 評論 (0)編輯 收藏

            作者:王聰

            引言

                 最近在做操作系統(tǒng)方面的研究,不得不去下一個虛擬機 來用。由于我不使用Windows,所以選擇很少了。因為在Linux上,差不多就只有兩款好的 虛擬機——Bochs和Qemu。這兩個之中,Bochs是用C++編寫,能在很多平臺上使用,而且不論什么平臺, 它都不倚賴主機的指令系統(tǒng),總是模擬x86。所以我選擇了Bochs。但是,我驚訝地發(fā)現(xiàn) 關(guān)于如何在Linux上使用Bochs的資料很少。Bochs自帶的文檔中講得也不很明確,而且還 是英文的。所以我寫了這篇文章。

            安裝

                 到Bochs的主頁: http://bochs.sourceforge.net 上下載最新的Bochs RPM安裝包。(寫這篇文章時,最新的版本是2.2.1。)以root的身份安裝:

            #rpm -ivh bochs-2.2.1-1.i586.rpm
            其實RPM安裝包給你裝上了四個新程序:bochs,bochs-dlx,bximage,bxcommit, 以及相關(guān)文檔。安裝完畢后,你可以先試試bochs-dlx,它是DLX Linux的一個demo。
            $ bochs-dlx
            ---------------------------------------------------------------
                         DLX Linux Demo, for Bochs x86 Emulator
            ---------------------------------------------------------------
            Checking for bochs binary...ok
            Checking for DLX linux directory...ok
            Checking for /usr/bin/gzip...ok
            Checking for /home/wangcong/.bochsdlx directory...ok
            Entering /home/wangcong/.bochsdlx
            Running bochs
            00000000000i[APIC?] local apic in initializing
            ========================================================================
                                     Bochs x86 Emulator 2.2.1
                             Build from CVS snapshot on July 8, 2005
            ========================================================================
            00000000000i[ ] LTDL_LIBRARY_PATH not set. using compile time default '/usr/lib/bochs/plugins'
            00000000000i[ ] BXSHARE not set. using compile time default '/usr/share/bochs'
            00000000000i[ ] reading configuration from bochsrc.txt
            00000000000i[ ] lt_dlhandle is 0x8bac490
            00000000000i[PLGIN] loaded plugin libbx_x.la
            00000000000i[ ] installing x module as the Bochs GUI
            00000000000i[ ] using log file bochsout.txt

            馬上,你就會看到一個X11窗口。



            顯示的是VGA BIOS信息,然后是加載Linux的信息。以root身份登錄,試試DLX Linux。安裝成功。

            使用

                 下面是一些重要的文件:

            /usr/bin/bochs Bochs啟動程序
            /usr/bin/bximage Bochs帶的制作磁盤鏡像文件的工具
            /usr/bin/bxcommit 把redolog放進flat磁盤鏡像文件中去的交互工具
            /usr/share/doc/bochs/bochsrc-sample.txt Bochs配置文件的例子
            /usr/share/bochs/BIOS-bochs-* ROM BIOS鏡像文件
            /usr/share/bochs/VGABIOS-* 與VGA BIOS鏡像文件相關(guān)的文件
            /usr/bin/bochs-dlx 啟動Bochs中DLX linux的程序
            /usr/share/bochs/dlxlinux/ DLX Linux的目錄,包含它的磁盤鏡像文件和配置文件
            /usr/share/bochs/keymaps/*.map X11和SDL的keymap列表

                 命令bohcs可以接受4個參數(shù):-q 加載配置文件后跳過開始菜單;-f configfile 識別指定的配制文件;-n 不加載配置文件;-h 打印幫助信息;-qf configfile 相當于同時使用-q和-f兩個選項。使用Bochs,你必須有一個配置文件,或者你通 過-f參數(shù)指定,或者讓Bochs自己搜索。配置文件的作用是告訴Bochs到哪里尋找鏡像 文件,模擬層如何工作等。Bochs搜索配置文件的順序是:


            1. bochsrc 在當前目錄中


            2. .bochsrc 在用戶的主目錄中

            3. bochsrc /etc 目錄中

            以dlx-linux的配置文件為例,講一下如何定制你需要的配置文件。dlx-linux的 配置文件是/usr/share/doc/bochs目錄中的bochsrc-sample.txt。它的內(nèi)容 如下:
            ###############################################################
            # bochsrc.txt file for DLX Linux disk image.
            ###############################################################

            # how much memory the emulated machine will have
            megs: 32

            # filename of ROM images
            romimage: file=$BXSHARE/BIOS-bochs-latest, address=0xf0000
            vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest

            # what disk images will be used
            floppya: 1_44=floppya.img, status=inserted
            floppyb: 1_44=floppyb.img, status=inserted

            # hard disk
            ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
            ata0-master: type=disk, path="hd10meg.img", cylinders=306, heads=4, spt=17

            # choose the boot disk.
            boot: c

            # default config interface is textconfig.
            #config_interface: textconfig
            #config_interface: wx

            #display_library: x
            # other choices: win32 sdl wx carbon amigaos beos macintosh nogui rfb term svga

            # where do we send log messages?
            log: bochsout.txt

            # disable the mouse, since DLX is text only
            mouse: enabled=0

            # enable key mapping, using US layout as default.
            #
            # NOTE: In Bochs 1.4, keyboard mapping is only 100% implemented on X windows.
            # However, the key mapping tables are used in the paste function, so
            # in the DLX Linux example I'm enabling keyboard_mapping so that paste
            # will work. Cut&Paste is currently implemented on win32 and X windows only.

            keyboard_mapping: enabled=1, map=$BXSHARE/keymaps/x11-pc-us.map
            #keyboard_mapping: enabled=1, map=$BXSHARE/keymaps/x11-pc-fr.map
            #keyboard_mapping: enabled=1, map=$BXSHARE/keymaps/x11-pc-de.map
            #keyboard_mapping: enabled=1, map=$BXSHARE/keymaps/x11-pc-es.map
            以#開頭的每一行都是注釋。注釋寫得很明白。
            megs: 32
            指明想要模擬32M的內(nèi)存。注意:后面的數(shù)字最大為2048,但是因為主機系統(tǒng)的限制,在 大多數(shù)系統(tǒng)上,Bochs甚至不能支持1024M。
            romimage: file=$BXSHARE/BIOS-bochs-latest, address=0xf0000
            指明ROM的鏡像文件在哪,開機時ROM BIOS被加載到哪里。$BXSHARE是環(huán)境變量,指明 Bochs的share目錄,在Linux上為/usr/share/bochs。這一般不用改動。下面的vgaromimage 指明VGA ROM的鏡像文件位置。
            floppya: 1_44=floppya.img, status=inserted
            floppyb: 1_44=floppyb.img, status=inserted
            floppya是第一軟驅(qū),floppyb是第二軟驅(qū)。后面標明的是軟驅(qū)鏡像文件的位置,軟盤 是否插入。可以根據(jù)你的需要做適當?shù)男薷摹?
            ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
            ata0-master: type=disk, path="hd10meg.img", cylinders=306, heads=4, spt=17
            打開ata0通道,另外還有ata1,ata2,ata3。對于每一個通道,都必須指明兩個IO地址和IRQ。 ata0是默認被打開的,它的ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14。ata0-master 是主ata0通道,后面指明它附帶的設(shè)備是硬盤,硬盤鏡像文件路徑,硬盤柱面數(shù),磁頭數(shù)等參數(shù)。
            boot: c
            指明啟動次序,可以是cdrom,floppy,disk。不過由于歷史的原因a和c也能被接受。 也可以這樣來寫:
            boot: cdrom, floppy, disk
            mouse: enabled=0
            指明鼠標是否可見。
            keyboard_mapping: enabled=1, map=$BXSHARE/keymaps/x11-pc-us.map
            打開對虛擬US鍵盤的重映射,keymap必須被指明。
                 更多的配置文件選項說明見/usr/share/doc/bochs/user/bochsrc.html。 如何編寫鍵盤的keymap列表見/usr/share/doc/bochs/user/keymap.html。

            制作磁盤鏡像

                 bximage是Bochs自帶的制作磁盤鏡像的工具,具有 良好的交互性,使用很方便。運行bximage,你會看到:

            ========================================================================
                                             bximage
                               Disk Image Creation Tool for Bochs
                   $Id: bximage.c,v 1.25.2.1 2005/07/06 20:40:00 vruppert Exp $
            ========================================================================

            Do you want to create a floppy disk image or a hard disk image?
            Please type hd or fd. [hd]
            詢問我們是建立一個軟盤鏡像還是硬盤鏡像,默認的是硬盤。我們直接按回車,選擇硬盤 鏡像。
            What kind of image should I create?
            Please type flat, sparse or growing. [flat]
            我們想建立一個簡單的鏡像,選擇默認的flat。回車。
            Enter the hard disk size in megabytes, between 1 and 32255
            [10]
            想要多少Mbyte的大小?鍵入你想要的大小。
            I will create a 'flat' hard disk image with
               cyl=2
               heads=16
               sectors per track=63
               total sectors=2016
               total size=0.98 megabytes

            What should I name the image?
            [c.img]
            在上一步中輸入“1”后,顯示相關(guān)的硬盤信息。詢問想要什么鏡像文件名字?默認的是 c.img。輸入hd.img回車。
            Writing: [] Done.

            I wrote 1032192 bytes to hd.img.

            The following line should appear in your bochsrc:
               ata0-master: type=disk, path="hd.img", mode=flat, cylinders=2, heads=16, spt=63
            建立完畢。然后你就可以使用這個鏡像,用Bochs做實驗了。

                 另外Bochs還有強大的調(diào)試功能,詳細請參閱用戶 手冊第8章。Bochs主頁上還有一些做好的系統(tǒng)鏡像,比如:OpenBSD,F(xiàn)reeDOS等。 不妨下載一個來試試。 Bochs的確是一款優(yōu)秀的工具,我推薦給每一位做操作系統(tǒng)研究的朋友。


            posted @ 2010-10-16 18:12 張貴川 閱讀(713) | 評論 (0)編輯 收藏

            首先說明希望學linux的朋友能夠忘記windows,最起碼忘記windows下的盤符、應(yīng)用程序等基礎(chǔ)的東西,其次要深刻明白linux和windows是2個不同的系統(tǒng)平臺,可以去對比著學習,但不要直接拿windows那套東西直接套用到linux學習中。

            學習方向:

            一、桌面系統(tǒng),就是系統(tǒng)安裝好后的視窗系統(tǒng),在windows下叫windows,在linux下叫 X Windows,其實只是名字不一樣而已(ps:看看紅旗做的桌面,真是跟windows要做象有多象,真暈,這樣雖然有助于linux桌面的使用,但對于linux系統(tǒng)的推廣真是沒什么好處)

                   很多初學linux人的安裝好linux后,進入其 X windows桌面,興奮不已,以為大工告成,linux自己會了,這種想法是很可怕的;如果我告訴你linux的X windows環(huán)境不是linux 系統(tǒng),它只是在linux下面運行的應(yīng)用程序(類似于在windows下運行office2000),你是怎么想的?

                   windows下的應(yīng)用程序幾乎是不能直接在linux系統(tǒng)下安裝和使用,學編程的應(yīng)該明白,所以不要去找windows工具盤安裝你的RAR,QQ,realone等常用工具,你是裝不上的。

                   你可以嘗試去安裝你硬件的最新驅(qū)動程序,安裝linux下的常用工具,做一些linux簡單的漢化,你就會理解經(jīng)常在論壇里問這方面問題的朋友的困難了。

                   總之,學桌面,不是學linux系統(tǒng)。


            二、內(nèi)核源代碼學習。跟unix操作系統(tǒng)一樣都是用C語言編寫。

                 去買正版的linux系統(tǒng)(不是很貴),會附帶一張或者2張linux源代碼盤,
                 linux程序員從這里開始,是起點也是終點~~~~
                 c就是比較NB,可以本人放棄~~~不是那塊料啊!!!!

                 很羨慕能經(jīng)常寫些讀核日記的朋友,強啊!支持你們~~~~~~~~~
                 有興趣的朋友可以嘗試~~~從身邊做c的朋友那里看到,以后會受益終身的!


            三、系統(tǒng)管理

                   也就是管理linux系統(tǒng)環(huán)境:SHELL、圖形、系統(tǒng)服務(wù)、硬件驅(qū)動等等。

                   系統(tǒng)管理LINUX跟UNIX類似(是看了些unix系統(tǒng)管理才這樣說的),基本上都是通過命令----->配置文件----->腳本文件。

                   初學這建議從這里開始,不要一味去安裝Xwindows,這個X windows環(huán)境只要你盡量保持經(jīng)常使用,相信學會是自然而然的事情.(感覺那真實沒什么好學的,只要計算機應(yīng)用在1年以上的朋友,應(yīng)該都能在下面操作吧)


            四、應(yīng)用開發(fā)

                     在linux應(yīng)用上,LINUX確實跟它的競爭對手WINDOWS相比還有一定的差距.(大家都用的餓是盜版啊,如果都用正版的系統(tǒng),你看用linux的多還是用windows的多,開發(fā) linux程序的人多還是開發(fā)windows程序的人多,錢在那里擺著呢)

                     不過在高端的應(yīng)用上,linux的市場是越來越大,如:

            linux內(nèi)核開發(fā);
                     ----PDA個人掌上電腦;
                     ----專用的網(wǎng)絡(luò)設(shè)備;防火墻設(shè)備,VPN設(shè)備。。。我都見過,是用linux編寫的,國產(chǎn)的,現(xiàn)在銷售的十分不錯;
                     ----硬件驅(qū)動程序


            linux網(wǎng)絡(luò)編程:
                     ----php編程,建立動態(tài)站點;
                     ----jsp編程,
                     ----perl,cgi編程;
            linux系統(tǒng)下數(shù)據(jù)庫的開發(fā):
                     ----my sql中小型數(shù)據(jù)庫系統(tǒng);
                     ----oracle數(shù)據(jù)庫
                     ----DB2數(shù)據(jù)庫,IBM數(shù)據(jù)庫系統(tǒng)

            五、服務(wù)器領(lǐng)域

                     一說linux,很多自然就想到了做服務(wù)器,但現(xiàn)在網(wǎng)絡(luò)服務(wù)器方面,linux的市場占有率確實是第一的;


            linux服務(wù)器領(lǐng)域:
                     ----代理服務(wù)器,使用的是linux的iptables功能;
                     ----電影服務(wù)器,使用的是linux的samba服務(wù)的功能,文件和打印共享服務(wù)器
                     ----游戲服務(wù)器,cs服務(wù)器,在linux系統(tǒng)下使用cs的linux版本建立的服務(wù)器
                     ----客戶存檔服務(wù)器,采用的linux的ftp服務(wù)器,常用的有:wu-ftp,pro-ftp軟件建立的

                     ----www服務(wù)器,使用的是linux下的apache服務(wù)器軟件
                     ----ftp服務(wù)器,下載服務(wù)器,使用的是linux下的wu-ftp,pro-ftp,vs-ftp軟件
                     ----mail服務(wù)器,采用的是linux下的sendmail,qmail軟件
                     ----dns服務(wù)器,使用的是linux下的bind軟件
                     ----數(shù)據(jù)庫服務(wù)器,使用的是mysql或者oracle軟件
                     ----防火墻,軟件防火墻服務(wù)器,使用的是linux的iptables功能建立的
                     ----路由器,軟路由器,使用的是linux下的routed軟件建立的
                     ----撥號服務(wù)器,vpn服務(wù)器等等


            六、系統(tǒng)集成

                     范圍太廣,內(nèi)容太多。相信IBM等建立的linux研發(fā)中心主要就是做這個的。
            posted @ 2010-10-14 21:00 張貴川 閱讀(283) | 評論 (0)編輯 收藏

            實驗一 
            目的:熟悉實驗環(huán)境,認識Bochs虛擬機 
            內(nèi)容: 
            1、下載并安裝Bochs 2.3.7,官方網(wǎng)站 http://bochs.sourceforge.net/ 
            2、下載DOS 6.22安裝光盤,參考地址 http://www.grqhd.com/downloads/hdd/dos622cd.iso 
            3、使用Bochs自帶工具制作10M硬盤鏡像若干、1.44M軟盤鏡像若干,備用。 
            4、練習修改Bochs配置文件,使用DOS 6.22安裝光盤將DOS安裝到硬盤和軟盤。 
            5、練習修改配置文件,分別實現(xiàn)從光盤、硬盤或軟盤啟動。 

            實驗二 
            目的:MBR的讀寫與分析 
            內(nèi)容: 
            1、練習使用int 13功能獲取安裝了DOS 6.22系統(tǒng)的硬盤MBR、反匯編。 
            2、使用int 13功能將獲取的MBR,寫到空白的硬盤上。 
            3、修改MBR代碼,并測試其工作流程。 

            實驗三 
            目的:掌握分區(qū)表的數(shù)值意義 
            內(nèi)容: 
            1、練習使用DOS 6.22自帶的分區(qū)工具FDisk,把一個空白硬盤分區(qū),觀察MBR的變化。 
            2、使用FDisk把一個空白硬盤分一個主分區(qū),自定義大小,其余分為擴展分區(qū),擴展分區(qū)上分兩個邏輯分區(qū),自定義大小。 
            3、說明以上分區(qū)表的數(shù)值含義。 

            實驗四 
            目的:DBR的讀寫與分析 
            內(nèi)容: 
            1、獲取正常DOS 6.22系統(tǒng)盤上的DBR,并反匯編、閱讀。 
            2、比較空白硬盤經(jīng)分區(qū)后,使用Format前后DBR的差別。 
            3、測試DBR的工作流程。 

            實驗五 
            目的:掌握FAT原理 
            內(nèi)容: 
            1、以FAT12為例,分析BPB以及FAT、根目錄表。 
            2、利用以上原理,通過直接改寫磁盤扇區(qū)的辦法,在根目錄下生成一個文本文件,并寫入適當?shù)膬?nèi)容。

            posted @ 2010-10-14 20:59 張貴川 閱讀(1741) | 評論 (0)編輯 收藏

             使用插件? 
            - 用戶資源 
            嘗試狀態(tài)頁:告知什么已經(jīng)嘗試做過了,并在Bochs網(wǎng)站上搜尋誰獲得了這個工作。 
            SourceForget 
                 - 查找漏洞報告 
                 - 如何報告問題(象第6章那樣提交FIXME請求) 
                 - 如何提出特色請求 

            5.1 命令行參數(shù) 
            下表列出了可以用在命令行上的參數(shù)。其他參數(shù)參見bochsrc章節(jié)。 
            表5-1 命令行參數(shù) 
            參數(shù)                                 描述 
            -q                     快速啟動(跳過配置界面) 
            -f filename       定義配置文件 
            -n                     不嘗試加載配置文件 
            -r   path             定義狀況還原文件的路徑(如果save/restore支持被編譯進來的話) 
            --help               顯示幫助信息和退出 
            啟動Bochs后這些參數(shù)會被直接處理。下一步是加載默認的或者指定的配置文件(除非使用了-n參數(shù)予以禁止)。然后其余的命令行(bochsrc選項)被依據(jù)語法分析。讀取配置文件后命令行參數(shù)會覆蓋配置文件的設(shè)置。 

            5.2 搜索配置文件件的順序 
            如果在命令行上沒有指定配置文件,有沒有把加載配置文件禁止,Bochs會搜索一個默認的配置文件。以下是搜索順序: 
                 1.在當前目錄中的.bochsrc文件 
                 2.在當前目錄中的bochsrc文件 
                 3.在當前目錄中的bochsrc.txt文件 
                 4.(僅限win32)在當前目錄中的bochsrc.bxrc文件 
                 5.(僅限Unix)在用戶home目錄中的.bochsrc文件 
                 6.(僅限Unix)在/etc目錄中的bochsrc文件 

            5.3 'textconfig'模式的配置界面 
            'textconfig'模式的配置界面是Bochs配置系統(tǒng)的文本模式版本。它是一系列菜單(使用 stdin/stdout),根據(jù)這一系列菜單允許你編輯所有控制Bochs行為的設(shè)置。如果你沒有寫一個配置界面行,Bochs會為你選擇'textconfig'模式的配置界面作為默認設(shè)置(除非Bochs被編譯為僅限使用wxWidgets模式)。 
            'textconfig'模式的配置界面有以下三部分組成: 
            開始菜單 
            頂端工具欄 
            運行時配置 

            5.3.1 開始菜單 
            如果你沒有使用快速啟動參數(shù)(-q)來啟動Bochs,Bochs配置主菜單將出現(xiàn): 
            ------------------------------ 
            Bochs Configuration: Main Menu 
            ------------------------------ 
            This is the Bochs Configuration Interface, where you can describe themachine that you want to simulate.   Bochs has already searched for aconfiguration file (typically called bochsrc.txt) and loaded it if itcould be found.   When you are satisfied with the configuration, goahead and start the simulation. 
            You can also start bochs with the -q option to skip these menus. 
            1. Restore factory default configuration 
            2. Read options from... 
            3. Edit options 
            4. Save options to... 
            5. Begin simulation 
            6. Quit now 
            Please choose one: [5] 
            在這里你可以載入、編輯和保存配置,最后開始仿真。可以沒有配置文件而啟動Bochs,然后使用這里的“Edit options”編輯所有的設(shè)置。如果你想把這次的配置應(yīng)用到以后的Bochs登陸,請不要忘記保存這次的配置信息。 

            5.3.2 Bochs頂端工具欄 

            頂端工具欄出現(xiàn)在Bochs仿真窗口的頂部。如果你單擊這些按鈕中的某一個可以控制Bochs的運行時行為。 
            軟盤按鈕 
            在此你可以切換軟盤媒體的狀態(tài)(插入/彈出)。Win32版的Bochs會彈出一個小對話框,讓你更改軟盤鏡像。你可以在配置文件中使用floppya/floppyb選項來安裝軟驅(qū)。 
            光驅(qū)按鈕 
            在此你可以切換光盤媒體的狀態(tài)(插入/彈出)。你可以在配置文件中使用ata(0-3)-master/-slave選項來安裝光驅(qū)。 
            鼠標按鈕 
            這個按鈕具有讓你激活主機鼠標事件的作用。一旦鼠標事件被捕獲,你就不能再使用這個按鈕來禁止捕獲了。在這種情況下,使用“Ctrl+第三鼠標按鈕”來禁止鼠標事件的捕獲。 
            支持兩鍵鼠標切換捕獲模式現(xiàn)在還沒有完成。一些顯示庫還不支持新特性,但是它已經(jīng)支持X11、SDL、wxWidgets和Win32。 
            用戶按鈕 
            如果你想發(fā)送通過user_shortcut選項定義的鍵盤快捷鍵到客戶端,按這個按鈕。根據(jù)使用的display_library選項,有可能在發(fā)送之前編輯快捷鍵。 
            復(fù)制按鈕 
            按這個按鈕后文本模式屏的文本能被輸出到剪貼板,這個按鈕在圖形模式下無效。 
            粘貼按鈕 
            剪貼板上的文本作為模擬按鍵,也可通過Bochs粘貼到客戶操作系統(tǒng)。鍵盤映射必須支持這一特色功能。 
            快照按鈕 
            如果你想保存一個文本模式屏的快照按這個按鈕。Windows32版的Bochs會彈出一個“Save as...”對話框。其他平臺會利用修改“snapshot.txt”文件實現(xiàn)。 
            配置按鈕 
            這個按鈕會停止Bochs仿真而開始運行時配置。(見下文) 
            復(fù)位按鈕 
            按此按鈕觸發(fā)一次硬件復(fù)位。 
            電源按鈕 
            這個按鈕停止仿真并退出Bochs。 
            在你的主機平臺上,這些功能中有的執(zhí)行或工作起來會有所不同。 

            5.3.3 運行時配置 
            如果你想在運行時改變某些設(shè)置,你不得不按頂端工具欄上的配置按鈕。仿真停止,運行時菜單出現(xiàn)在Windows或xterm的終端控制臺上。(譯者注:xterm是一個X Window System上的標準虛擬終端。) 
            --------------------- 
            Bochs Runtime Options 
            --------------------- 
            1. Floppy disk 0: /dev/fd0, size=1.44M, inserted 
            2. Floppy disk 1: floppyb.img, size=1.44M, inserted 
            3. 1st CDROM: (master on ata1) /dev/cdrom, ejected 
            4. 2nd CDROM: (slave on ata1) /dev/cdrecorder, ejected 
            5. 3rd CDROM: (not present) 
            6. 4th CDROM: (not present) 
            7. (not implemented) 
            8. Log options for all devices 
            9. Log options for individual devices 
            10. VGA Update Interval: 100000 
            11. Mouse: disabled 
            12. Keyboard paste delay: 100000 
            13. Userbutton shortcut: ctrlaltdel 
            14. Instruction tracing: off (doesn't exist yet) 
            15. Continue simulation 
            16. Quit nowPlease choose one:   [15] 
            在運行時配置中,你可以改變軟盤/光盤鏡像或者設(shè)備,改變?nèi)罩具x項或者調(diào)整其他設(shè)置。如果你在使用特定的設(shè)備時有麻煩,你可以為此設(shè)備改變?nèi)罩具x項,結(jié)果是獲得更多的信息(例如:報告調(diào)試信息)。然而,這不能在配置文件中做到。 

            5.4 保存和還原仿真 
            從2.3版開始,Bochs具有有限的“保存/還原”支持。CPU(s)、內(nèi)存和所有設(shè)備的狀態(tài)可以被保存。當運行Bochs時,頂端工具欄會有一個“Suspend”按鈕。依據(jù)配置接口和圖形用戶界面,使用此按鈕會有一個讓你輸入路徑的提示,或者讓你選擇圖形用戶界面文件夾的對話框。允許在任何時候保存仿真狀態(tài),但是我們推薦但仿真空閑時去做這件事。當按下OK/Enter之后,Bochs會把一套文件保存到選定的文件夾中。然而硬盤鏡像的狀態(tài)不被處理,所以Bochs會詢問你保存狀態(tài)后是否想繼續(xù)。我們不推薦你繼續(xù),除非你正運行一個只讀的客戶系統(tǒng)(例如:Live-CD)。 
            (譯者注:Live CD(臺譯為:自生系統(tǒng))是:“事先儲存于某種可移動存儲介質(zhì)上,可不特定于計算機硬件(non-hardware-specific)而啟動的操作系統(tǒng)(通常亦包括一些其他軟件)”,不需安裝至計算機的本地外部存儲器 - 硬盤。采用的介質(zhì)包括CD-ROM (Live CD),DVD (Live DVD),閃存盤(Live USB)甚至是軟盤等。退出自生系統(tǒng)并重新開機后,計算機就可以恢復(fù)到原本的操作系統(tǒng)。自生系統(tǒng)的運作機制,是透過“把原本放在硬盤里的檔案,放到內(nèi)存的虛擬磁盤中”來運作;因此系統(tǒng)內(nèi)存愈大,則執(zhí)行速度愈快。資料來源http://zh.wikipedia.org/wiki/LiveCD) 
            要還原保存的仿真狀態(tài),你可以選擇在文本模式下的開始菜單中的還原功能,或者在命令行中指定還原路徑: 
            bochs -r /path/to/save-restore-data 
            于是Bochs使用保存的配置和日志選項啟動,恢復(fù)硬件狀態(tài)開始仿真。在還原模式,Bochs會從命令行中忽略bochsrc選項,也不加載常規(guī)的配置文件。(第5章 完)

            posted @ 2010-10-14 11:43 張貴川 閱讀(1737) | 評論 (0)編輯 收藏

            掛接命令(mount) 
              首先,介紹一下掛接(mount)命令的使用方法,mount命令參數(shù)非常多,這里主要講一下今天我們要用到的。

              命令格式:

              mount [-t vfstype] [-o options] device dir

              其中:

              1.-t vfstype 指定文件系統(tǒng)的類型,通常不必指定。mount 會自動選擇正確的類型。常用類型有:

              光盤或光盤鏡像:iso9660

              DOS fat16文件系統(tǒng):msdos

              Windows 9x fat32文件系統(tǒng):vfat

              Windows NT ntfs文件系統(tǒng):ntfs

              Mount Windows文件網(wǎng)絡(luò)共享:smbfs

              UNIX(LINUX) 文件網(wǎng)絡(luò)共享:nfs

              2.-o options 主要用來描述設(shè)備或檔案的掛接方式。常用的參數(shù)有:

              loop:用來把一個文件當成硬盤分區(qū)掛接上系統(tǒng)

              ro:采用只讀方式掛接設(shè)備

              rw:采用讀寫方式掛接設(shè)備

              iocharset:指定訪問文件系統(tǒng)所用字符集

              3.device 要掛接(mount)的設(shè)備。

              4.dir設(shè)備在系統(tǒng)上的掛接點(mount point)。

              掛接光盤鏡像文件

              由于近年來磁盤技術(shù)的巨大進步,新的電腦系統(tǒng)都配備了大容量的磁盤系統(tǒng),在Windows下許多人都習慣把軟件和資料做成光盤鏡像文件通過虛擬光驅(qū)來使用。這樣做有許多好處:一、減輕了光驅(qū)的磨損;二、現(xiàn)在硬盤容量巨大存放幾十個光盤鏡像文件不成問題,隨用隨調(diào)十分方便;三、硬盤的讀取速度要遠遠高于光盤的讀取速度,CPU占用率大大降低。其實linux系統(tǒng)下制作和使用光盤鏡像比Windows系統(tǒng)更方便,不必借用任何第三方軟件包。

              1、從光盤制作光盤鏡像文件。將光盤放入光驅(qū),執(zhí)行下面的命令。

               #cp /dev/cdrom /home/sunky/mydisk.iso 或

               #dd if=/dev/cdrom of=/home/sunky/mydisk.iso

               注:執(zhí)行上面的任何一條命令都可將當前光驅(qū)里的光盤制作成光盤鏡像文件/home/sunky/mydisk.iso

              2、將文件和目錄制作成光盤鏡像文件,執(zhí)行下面的命令。

               #mkisofs -r -J -V mydisk -o /home/sunky/mydisk.iso /home/sunky/ mydir

               注:這條命令將/home/sunky/mydir目錄下所有的目錄和文件制作成光盤鏡像文件/home/sunky/mydisk.iso,光盤卷標為:mydisk

              3、光盤鏡像文件的掛接(mount)

               #mkdir /mnt/vcdrom

               注:建立一個目錄用來作掛接點(mount point)

               #mount -o loop -t iso9660 /home/sunky/mydisk.iso /mnt/vcdrom

               注:使用/mnt/vcdrom就可以訪問盤鏡像文件mydisk.iso里的所有文件了。  

            掛接移動硬盤

              對linux系統(tǒng)而言,USB接口的移動硬盤是當作SCSI設(shè)備對待的。插入移動硬盤之前,應(yīng)先用fdisk –l 或 more /proc/partitions查看系統(tǒng)的硬盤和硬盤分區(qū)情況。

              [root at pldyrouter /]# fdisk -l

              Disk /dev/sda: 73 dot 4 GB, 73407820800 bytes

              255 heads, 63 sectors/track, 8924 cylinders

              Units = cylinders of 16065 * 512 = 8225280 bytes

              Device Boot Start End Blocks Id System

              /dev/sda1 1 4 32098+ de Dell Utility

              /dev/sda2 * 5 2554 20482875 7 HPFS/NTFS

              /dev/sda3 2555 7904 42973875 83 Linux

              /dev/sda4 7905 8924 8193150 f Win95 Ext'd (LBA)

              /dev/sda5 7905 8924 8193118+ 82 Linux swap

              在這里可以清楚地看到系統(tǒng)有一塊SCSI硬盤/dev/sda和它的四個磁盤分區(qū)/dev/sda1 -- /dev/sda4, /dev/sda5是分區(qū)/dev/sda4的邏輯分區(qū)。接好移動硬盤后,再用fdisk –l 或 more /proc/partitions查看系統(tǒng)的硬盤和硬盤分區(qū)情況

              [root at pldyrouter /]# fdisk -l

              Disk /dev/sda: 73 dot 4 GB, 73407820800 bytes

              255 heads, 63 sectors/track, 8924 cylinders

              Units = cylinders of 16065 * 512 = 8225280 bytes

              Device Boot Start End Blocks Id System

              /dev/sda1 1 4 32098+ de Dell Utility

              /dev/sda2 * 5 2554 20482875 7 HPFS/NTFS

              /dev/sda3 2555 7904 42973875 83 Linux

              /dev/sda4 7905 8924 8193150 f Win95 Ext'd (LBA)

              /dev/sda5 7905 8924 8193118+ 82 Linux swap

              Disk /dev/sdc: 40.0 GB, 40007761920 bytes

              255 heads, 63 sectors/track, 4864 cylinders

              Units = cylinders of 16065 * 512 = 8225280 bytes

              Device Boot Start End Blocks Id System

              /dev/sdc1 1 510 4096543+ 7 HPFS/NTFS

              /dev/sdc2 511 4864 34973505 f Win95 Ext'd (LBA)

              /dev/sdc5 511 4864 34973473+ b Win95 FAT32

              大家應(yīng)該可以發(fā)現(xiàn)多了一個SCSI硬盤/dev/sdc和它的兩個磁盤分區(qū)/dev/sdc1?、/dev/sdc2,其中/dev/sdc5是/dev/sdc2分區(qū)的邏輯分區(qū)。我們可以使用下面的命令掛接/dev/sdc1和/dev/sdc5。

               #mkdir -p /mnt/usbhd1

               #mkdir -p /mnt/usbhd2

               注:建立目錄用來作掛接點(mount point)

               #mount -t ntfs /dev/sdc1 /mnt/usbhd1

               #mount -t vfat /dev/sdc5 /mnt/usbhd2 

               注:對ntfs格式的磁盤分區(qū)應(yīng)使用-t ntfs 參數(shù),對fat32格式的磁盤分區(qū)應(yīng)使用-t vfat參數(shù)。若漢字文件名顯示為亂碼或不顯示,可以使用下面的命令格式。

               #mount -t ntfs -o iocharset=cp936 /dev/sdc1 /mnt/usbhd1

               #mount -t vfat -o iocharset=cp936 /dev/sdc5 /mnt/usbhd2

              linux系統(tǒng)下使用fdisk分區(qū)命令和mkfs文件系統(tǒng)創(chuàng)建命令可以將移動硬盤的分區(qū)制作成linux系統(tǒng)所特有的ext2、ext3格式。這樣,在linux下使用就更方便了。使用下面的命令直接掛接即可。

               #mount /dev/sdc1 /mnt/usbhd1 

            掛接U盤

              和USB接口的移動硬盤一樣對linux系統(tǒng)而言U盤也是當作SCSI設(shè)備對待的。使用方法和移動硬盤完全一樣。插入U盤之前,應(yīng)先用fdisk –l 或 more /proc/partitions查看系統(tǒng)的硬盤和硬盤分區(qū)情況。

              [root at pldyrouter root]# fdisk -l

              Disk /dev/sda: 73 dot 4 GB, 73407820800 bytes

              255 heads, 63 sectors/track, 8924 cylinders

              Units = cylinders of 16065 * 512 = 8225280 bytes

              Device Boot Start End Blocks Id System

              /dev/sda1 1 4 32098+ de Dell Utility

              /dev/sda2 * 5 2554 20482875 7 HPFS/NTFS

              /dev/sda3 2555 7904 42973875 83 Linux

              /dev/sda4 7905 8924 8193150 f Win95 Ext'd (LBA)

              /dev/sda5 7905 8924 8193118+ 82 Linux swap

              插入U盤后,再用fdisk –l 或 more /proc/partitions查看系統(tǒng)的硬盤和硬盤分區(qū)情況。

              [root at pldyrouter root]# fdisk -l

              Disk /dev/sda: 73 dot 4 GB, 73407820800 bytes

              255 heads, 63 sectors/track, 8924 cylinders

              Units = cylinders of 16065 * 512 = 8225280 bytes

              Device Boot Start End Blocks Id System

              /dev/sda1 1 4 32098+ de Dell Utility

              /dev/sda2 * 5 2554 20482875 7 HPFS/NTFS

              /dev/sda3 2555 7904 42973875 83 Linux

              /dev/sda4 7905 8924 8193150 f Win95 Ext'd (LBA)

              /dev/sda5 7905 8924 8193118+ 82 Linux swap

              Disk /dev/sdd: 131 MB, 131072000 bytes

              9 heads, 32 sectors/track, 888 cylinders

              Units = cylinders of 288 * 512 = 147456 bytes

              Device Boot Start End Blocks Id System

              /dev/sdd1 * 1 889 127983+ b Win95 FAT32

              Partition 1 has different physical/logical endings:

              phys=(1000, 8, 32) logical=(888, 7, 31)

              系統(tǒng)多了一個SCSI硬盤/dev/sdd和一個磁盤分區(qū)/dev/sdd1,/dev/sdd1就是我們要掛接的U盤。

              #mkdir -p /mnt/usb

              注:建立一個目錄用來作掛接點(mount point)

              #mount -t vfat /dev/sdd1 /mnt/usb

              注:現(xiàn)在可以通過/mnt/usb來訪問U盤了, 若漢字文件名顯示為亂碼或不顯示,可以使用下面的命令。

              #mount -t vfat -o iocharset=cp936 /dev/sdd1 /mnt/usb

            掛接Windows文件共享

              Windows網(wǎng)絡(luò)共享的核心是SMB/CIFS,在linux下要掛接(mount)windows的磁盤共享,就必須安裝和使用samba軟件包。現(xiàn)在流行的linux發(fā)行版絕大多數(shù)已經(jīng)包含了samba軟件包,如果安裝linux系統(tǒng)時未安裝samba請首先安裝samba。當然也可以到www.samba.org網(wǎng)站下載......新的版本是3.0.10版。

              當windows系統(tǒng)共享設(shè)置好以后,就可以在linux客戶端掛接(mount)了,具體操作如下:

              # mkdir –p /mnt/samba 

              注:建立一個目錄用來作掛接點(mount point)

              # mount -t smbfs -o username=administrator,password=pldy123 //10.140.133.23/c$ /mnt/samba

              注:administrator 和 pldy123 是ip地址為10.140.133.23 windows計算機的一個用戶名和密碼,c$是這臺計算機的一個磁盤共享

              如此就可以在linux系統(tǒng)上通過/mnt/samba來訪問windows系統(tǒng)磁盤上的文件了。以上操作在redhat as server 3、redflag server 4.1、suse server 9以及windows NT 4.0、windows 2000、windows xp、windows 2003環(huán)境下測試通過。

              掛接UNIX系統(tǒng)NFS文件共享

              類似于windows的網(wǎng)絡(luò)共享,UNIX(Linux)系統(tǒng)也有自己的網(wǎng)絡(luò)共享,那就是NFS(網(wǎng)絡(luò)文件系統(tǒng)),下面我們就以SUN Solaris2.8和REDHAT as server 3 為例簡單介紹一下在linux下如何mount nfs網(wǎng)絡(luò)共享。

              在linux客戶端掛接(mount)NFS磁盤共享之前,必須先配置好NFS服務(wù)端。

              1、Solaris系統(tǒng)NFS服務(wù)端配置方法如下:

               (1)修改 /etc/dfs/dfstab, 增加共享目錄

                  share -F nfs -o rw /export/home/sunky

               (2)啟動nfs服務(wù)

                  # /etc/init.d/nfs.server start

               (3)NFS服務(wù)啟動以后,也可以使用下面的命令增加新的共享

                  # share /export/home/sunky1

                  # share /export/home/sunky2

               注:/export/home/sunky和/export/home/sunky1是準備共享的目錄

              2、linux系統(tǒng)NFS服務(wù)端配置方法如下:

               (1)修改 /etc/exports,增加共享目錄

              /export/home/sunky 10.140.133.23(rw)

              /export/home/sunky1 *(rw)

              /export/home/sunky2 linux-client(rw) 

               注:/export/home/目錄下的sunky、sunky1、sunky2是準備共享的目錄,10.140.133.23、*、linux- client是被允許掛接此共享linux客戶機的IP地址或主機名。如果要使用主機名linux-client必須在服務(wù)端主機/etc/hosts文件里增加linux-client主機ip定義。格式如下:

               10.140.133.23 linux-client

               (2)啟動與停止NFS服務(wù)

               /etc/rc.d/init.d/portmap start (在REDHAT中PORTMAP是默認啟動的) 

               /etc/rc.d/init.d/nfs start 啟動NFS服務(wù)

               /etc/rc.d/init.d/nfs stop 停止NFS服務(wù)

               注:若修改/etc/export文件增加新的共享,應(yīng)先停止NFS服務(wù),再啟動NFS服務(wù)方能使新增加的共享起作用。使用命令exportfs -rv也可以達到同樣的效果。

              3、linux客戶端掛接(mount)其他linux系統(tǒng)或UNIX系統(tǒng)的NFS共享

               # mkdir –p /mnt/nfs

               注:建立一個目錄用來作掛接點(mount point)

               #mount -t nfs -o rw 10.140.133.9:/export/home/sunky /mnt/nfs

               注:這里我們假設(shè)10.140.133.9是NFS服務(wù)端的主機IP地址,當然這里也可以使用主機名,但必須在本機/etc/hosts文件里增加服務(wù)端ip定義。/export/home/sunky為服務(wù)端共享的目錄。

              如此就可以在linux客戶端通過/mnt/nfs來訪問其它linux系統(tǒng)或UNIX系統(tǒng)以NFS方式共享出來的文件了。以上操作在redhat as server 3、redflag server4.1、suse server 9以及Solaris 7、Solaris 8、Solaris 9 for x86&sparc環(huán)境下測試通過。

            LOOP設(shè)備

            loop 設(shè)備 (循環(huán)設(shè)備)

            1. loop 設(shè)備介紹
            在類 UNIX 系統(tǒng)里,loop 設(shè)備是一種偽設(shè)備(pseudo-device),或者也可以說是仿真設(shè)備。它能使我們像塊設(shè)備一樣訪問一個文件。

            在使用之前,一個 loop 設(shè)備必須要和一個文件進行連接。這種結(jié)合方式給用戶提供了一個替代塊特殊文件的接口。因此,如果這個文件包含有一個完整的文件系統(tǒng),那么這個文件就可以像一個磁盤設(shè)備一樣被 mount 起來。

            上面說的文件格式,我們經(jīng)常見到的是 CD 或 DVD 的 ISO 光盤鏡像文件或者是軟盤(硬盤)的 *.img 鏡像文件。通過這種 loop mount (回環(huán)mount)的方式,這些鏡像文件就可以被 mount 到當前文件系統(tǒng)的一個目錄下。

            至此,順便可以再理解一下 loop 之含義:對于第一層文件系統(tǒng),它直接安裝在我們計算機的物理設(shè)備之上;而對于這種被 mount 起來的鏡像文件(它也包含有文件系統(tǒng)),它是建立在第一層文件系統(tǒng)之上,這樣看來,它就像是在第一層文件系統(tǒng)之上再繞了一圈的文件系統(tǒng),所以稱為 loop。

            在 Linux 里,loop 設(shè)備的設(shè)備名形如:
            引用
            ls /dev/loop*
            /dev/loop0  /dev/loop2  /dev/loop4  /dev/loop6
            /dev/loop1  /dev/loop3  /dev/loop5  /dev/loop7
            ... ...

            例如,要在一個目錄下 mount 一個包含有磁盤鏡像的文件,需要分 2 步走:
            引用
            losetup /dev/loop0 disk.img           #使磁盤鏡像文件與循環(huán)設(shè)備連結(jié)起來
            mount /dev/loop0 /home/groad/disk_test   #將循環(huán)設(shè)備 mount 到目錄 disk_test 下

            經(jīng)過上面的兩個命令后,鏡像文件就如同一個文件系統(tǒng)掛載在 disk_test 目錄下,當然我們也可以往鏡像里面添加文件。

            其實上面的兩個步驟可以寫成一個步驟:
            引用
            mount -t minix -o loop ./disk.img ./disk_test

            其中,加了 -o loop 指定后,那么也就相當于執(zhí)行了第一行的 losetup 命令。做一個簡單的試驗可以證明一點,首先分開執(zhí)行 losetup 和 mount 命令,那么我們看到我們可以 mount 的是 /dev/loop0 這個設(shè)備。當我們在 mount 中指定參數(shù) -o loop 時,鏡像文件其實已和 /dev/loop1 相關(guān)聯(lián),這里我們在掛載鏡像文件后,嘗試再執(zhí)行一下 mount -t minix /dev/loop1 ./disk_test 來驗證,它會得到提示:
            引用
            linux-z13e:/usr/local/share/bochs/Linux011/temp # mount -t minix /dev/loop1 ./test_dir/ 
            mount: /dev/loop1 already mounted or ./test_dir/ busy
            mount: according to mtab, /dev/loop1 is already mounted on /usr/local/share/bochs/Linux011/temp/test_dir


            最后,要卸載的話,就直接 umount /dev/loop0 即可。

            losetup -- 設(shè)置循環(huán)設(shè)備

            格式
            引用
            losetup [ -e encryption ] [ -o offset ] loop_device file
            losetup [ -d ] loop_device

            說明
            此命令用來設(shè)置循環(huán)設(shè)備。循環(huán)設(shè)備可把文件虛擬成塊設(shè)備,籍此來模擬整個文件系統(tǒng),讓用戶得以將其視為硬盤驅(qū)動器,光驅(qū)或軟驅(qū)等設(shè)備,并掛入當作目錄來使用。
            上面,命令格式中的選項與參數(shù)名:
            -e 表示加密的方式
            -o 設(shè)置數(shù)據(jù)偏移量
            -d 卸載設(shè)備
            loop_device 循環(huán)設(shè)備名,在 linux 下如 /dev/loop0 , /dev/loop1 等。
            file 要與循環(huán)設(shè)備相關(guān)聯(lián)的文件名,這個往往是一個磁盤鏡象文件,如 *.img
            posted @ 2010-10-14 10:32 張貴川 閱讀(1048) | 評論 (0)編輯 收藏

            僅列出標題
            共5頁: 1 2 3 4 5 
            久久久久综合国产欧美一区二区| 国产99久久久国产精免费| 91精品国产91久久| 久久免费精品视频| 久久精品国产网红主播| 亚洲精品无码成人片久久| 久久精品一本到99热免费| 久久国产欧美日韩精品| 久久婷婷五月综合成人D啪| 久久国产劲爆AV内射—百度| 久久精品国产AV一区二区三区| 亚洲午夜久久久久久久久久| 精品久久亚洲中文无码| 久久人妻少妇嫩草AV无码专区| 国内精品人妻无码久久久影院 | 亚洲αv久久久噜噜噜噜噜| 国产精品久久久久久久久久影院| 久久综合视频网| 日本强好片久久久久久AAA| 熟妇人妻久久中文字幕| 久久精品一区二区国产| AA级片免费看视频久久| 亚洲性久久久影院| 日韩精品久久无码人妻中文字幕 | 久久精品国产免费观看三人同眠| 亚洲αv久久久噜噜噜噜噜| 国产亚洲婷婷香蕉久久精品 | 一级做a爰片久久毛片毛片| 亚洲国产精品无码久久一线| 久久综合九色综合97_久久久 | 精品久久久久成人码免费动漫| 亚洲色欲久久久综合网| 久久国产精品久久精品国产| 久久久久九国产精品| 久久精品无码专区免费青青| 国产精品美女久久久免费| 99久久国产宗和精品1上映| 久久精品成人免费看| 亚洲愉拍99热成人精品热久久| 国产999精品久久久久久| 久久精品亚洲一区二区三区浴池|