斜树的空间

集中精力,放弃一切的去做一件事情,只要尽力了,即使失败了,你也不会后悔!

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  47 随笔 :: 0 文章 :: 12 评论 :: 0 Trackbacks

#

qemu 用起来确实比bochs快很多了。
并且也没有出现像bochs切换后就无法相应键盘的情况。

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 张贵川 阅读(314) | 评论 (0)编辑 收藏

ps:再转一篇南北的字体修改教程。我在fedora 13中实践成功。当中有些文件稍有改变。具体安装的时候灵活找一下。

作者:北南南北
来自:LinuxSir.Org
摘要:在Fedora Core 5.0中,对中文支持极为友好,我们可以自己添加自己的字体,以适合我们做文档、图形的需要。这样有更多的字体供我们选择;现在把简单的方法说一下。可能 也不太简单,还是要改一改文件的。初学的弟兄看看吧,可能一下就会了;


目录


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


1、首先我们要在/usr/share/fonts/chinese目录中建一个文件夹;

比如名为custom

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

然后把您的字体复制过去就行了;比如我把Windows中的所有字体都复制过去了。里面有Tahoma,Simsun,STSONG ... ...

然后再执行;

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

当然要用到超级权限,如果您用的是普通用户,要用su 切换到root ,这个我们在前面的超级权限控制中有讲到;您不妨查一下文档;


2、执行ttmkfdir命令在字体目录;

首先我们进入 /usr/share/fonts/chinese/custom目录;

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

然后执行;

[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服务器;

您可以按ctrl+alt+backspace组合键;
也可以以root权限执行

[root@localhost beinan]# /etc/init.d/xfs restart
重新启动 xfs:
关闭 xfs:                                                 [确定]
启动 xfs:                                                 [确定]


5、应用程序的设置;

这个就简单了吧,在程序上用什么字体,就自己选择一下,也没有什么难的;不过桌面字体可能要设置一下。如果您认为不好的话;


5.1 GNOME桌面环境的的字体设置;

桌面->首选项->字体

我设置的内容如下:

桌面程序字体 Tahoma 10
文档字体 Tahoma 10
桌面字体 Tahoma 10
窗口标题字体 Tahoma Bold 11
等宽字体 Monospace

字体渲染 最佳形状


5.2 Firefox 浏览器的字体设置;

编辑->首选项->内容->字体和颜色->高级

语言编码:简体中文
比例字体:无衬线字体 大小:16
衬线字体:Tahoma
无衬线字体:Tahoma
等宽字体:Monospace 大小:16
屏幕解析度:96dpi 最小字体:12

要把允许页面选择字体而无需使用上面的字体选中;

默认字体编码可以不用设置,自己看着办吧;

5.3 关于OpenOffice 的字体设置;

OpenOffice的默认字体可能不适合我们的需要,我们习惯用宋体,也就是simsun字体;所以这时我们要设置一下。

工具->选项->语言设定 ,在这个选项里,自己点点看吧;大部份不用设置;

工具->选项->OpenOffice Writer

标准字体西文:我用的都是Tahoma;
标准字体(中日韩):我都设置成了simsun;

5.4 AbiWord的字体设置;

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这个字体,我们在前面提到的复制字体的事,那是个前提;


6、存在的问题;


好象添加上字体后,系统的速度就降了下来,第一次进入桌面时有点迟钝;大家测试一下看看吧;

7、关于本文;

没有技术含量,不值不提;老酒装在新瓶里,还是那瓶酒;实践是检测真理的唯一标准;

8、后记;

希望能看到大家分享自己的学习成果,分享你我的快乐;帮助他人和得到帮助,都是一种快乐,不是吗?
这段时间,我没有太多的时间 ,今年的事情特别多,有时得在早上或者晚上写文档,至于修改都放在白天进行,白天没有大块的时间 ,请大家理解理解;谢谢;
如果有一点时间,我也会接着写文档的,“时间是海绵里的水,一挤就有了”,呵。。。。。。

继续之中。。。。。

9、相关文档;

posted @ 2010-10-19 10:39 张贵川 阅读(974) | 评论 (0)编辑 收藏

bochs这个很拉风的虚拟机。却有一个让我郁闷的问题:
每次进入虚拟机后,比如进入了free-dos,然后切换回终端,再次切换回来后就无法相应键盘输入了。
及每次失去焦点后就无法再次相应键盘了。大小写键可以相应。
问赵博,他的机子可以,看配置,一样。蛋疼的是我的就时会有这样的毛病,时而相应,时而死机。
目前位置还是没有找到方法解决。

/**********************************************************/
今天终于蛋疼的找到bochs不能相应的原因了。
我平常 切换 软件 都使用 ALT + TAB 组合键切换,原来bochs对这两个按键相应有问题。
用alt + tab 切换 后 再切换回去就 不响应键盘了。
如果是用鼠标切换,那就可以相应了!

这是一个习惯的郁闷问题!
                                  ----------------------------10.22

偶然发现原来也可以使bochs相应切换后的按键问题了。
从其他程序切换回来后,再按一下alt键就又可以输入了。。。^_^。
这时我调alt + tab 换为 ctrl + tab 组合键作切换程序的时候,发现切换回来后再按下ctrl键就又可以继续输入。不然还是和以前一样。
再调回 alt + tab,道理一样,再按下 alt 键又可以继续输入了。。。。
/********************************************************/
我的调试新技巧:
其实也不是新的,在ochsrc_sample.txt 有说明:
在bochs的配置文件最后一句加上:magic_break:enabled=1, 然后在程序里加上xchg bx, bx, 在bochs运行到这里的时候就会停止,这样就可以继续调试下去.....
用 xp /nuf  addr                 如:xp /10bx  0x00500000, 
最好用help x  查看xp 和 x 的命令使用方法。个人喜欢用的  x /10mx  es:edi   用mx 组合.
查看内存内容暂时不会。以及GDB+BOCHS调试也还不会.....

当然,还又其他的调试方法,这需要去研究钩子一类的东西,我研究了就发上来:
posted @ 2010-10-19 10:36 张贵川 阅读(928) | 评论 (0)编辑 收藏

grub

修改grub文件,使启动项指向该iso文件

sudo gedit /boot/grub/menu.lst

复制下面的部分到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)部分依据你的具体情况而定 如果你的/media/disk/位置是 (hd0,1) ,那么你就应该设置为(hd0,1) 设置好后保存退出 多说一句,理论上来说把iso文件放在磁盘的任意位置(包括U盘)都是可以安装的,但是hd编号你必须要搞清楚,尽量让启动安装一次性成功。


这里是从ubuntu liveCD安装方法上找的一段东西。关键是注意 iso-scan 这句。这个只对ubuntu系统管用。

如果是硬盘安装debian系统,从debian安装CD上提取出来的vmlinuz 和 initrd.gz 是不能引导系统的。
只有下载硬盘版的vmlinuz 和 initrd.gz 。可以从下面网址得到:
http://mirror.switch.ch/ftp/pub/debian/dists/stable/main/installer-i386/current/images/hd-media/
之后的grub安装引导我就不多说了。
多说一个grub使用的小技巧:
>cat (hd0,                                     ---------------- 然后按tab键便可以看到所有hd0上的分区(不要再问可以看到分区又什么用)
>cat (hd0, 3)/                                ----------------同上按tab键可以看到分区中的内容(如能挂载)
 
还有一点要说的是,grub 不支持ntfs文件系统。所以不要吧 vmlinuz 和 initrd.gz 和 镜像放到 ntfs 格式的分区中。

posted @ 2010-10-18 09:47 张贵川 阅读(819) | 评论 (0)编辑 收藏

作者:北南南北
来自:LinuxSir.Org
摘要: Linux文件系统是呈树形结构,了解Linux文件系统的目录结构,对于我们驾驭Linux还是有必要的。本文对Linux下比较重要的目录加以解说, 以答初学者所说的“杂乱无章”目录结构,给一个简要的说明。


目录


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

Linux文件系统结的结构是树形结构,其入口从/开始,了解Linux文件系统的结构,对于我们需要掌握的基础知识点之一。


1、什么是文件系统;

请参见:《Linux 文件系统概述》


2、文件系统的组织结构简说;

当您使用Linux的时候,如果您通过ls -la / 就会发现,在/下包涵很多的目录,比如etc、usr、var、bin ... ... 等目录,而在这些目录中,我们进去看看,发现也有很多的目录或文件。文件系统在Linux下看上去就象树形结构,所以我们可以把文件系统的结构形象的称为 树形结构。

查看文件系统的结构,我们可以通过tree命令来实现;

[root@localhost ~]# tree

不过tree 这个命令目前在Fedora Core 5.0 中已经消失,在Slackware 10.2的版本中仍有保留。不过其它版本的Linux应该有;由tree命令的输出结果来看,最顶端应该是/,我们称/为Linux的root,也就是 Linux操作系统的文件系统。Linux的文件系统的入口就是/,所有的目录、文件、设备都在/之下,/就是Linux文件系统的组织者,也是最上级的 领导者。

下面我们把Linux文件系统的树形结构的主要目录列一下,主要


3、文件系统的组织结构分析;

文件系统的组织结构分析,我们能分析什么呢?也就是当我们列/目录时,所看到的/usr、/etc ... ... /var 等目录是做什么用的,这些目录是不是有些特定的用途。无论哪个哪个版本的Linux系统,都有这些目录,这些目录应该是标准的。当然各个Linux发行版 本也会存在一些小小的差异,但总体来说,还是大体差不多。

Linux发行版本之间的差别其实很少,差别主要表现在系统管理的特色工具以及软件包管理方式的不同,除此之外,没有什么大的差别; 比如Fedora软件包管理工具是rpm,而Slackware是pkgtool 或installpkg等;

言归正传,我们接着说文件系统组织结构。

/ Linux文件系统的入口,也是处于最高一级的目录;

/bin 基础系统所需要的那些命令位于此目录,也是最小系统所需要的命令;比如 ls、cp、mkdir等命令;功能和/usr/bin类似,这个目录中的文件都是可执行的,普通用户都可以使用的命令。做为基础系统所需要的最基础的命 令就是放在这里。

/boot Linux的内核及引导系统程序所需要的文件,比如 vmlinuz initrd.img 文件都位于这个目录中。在一般情况下,GRUB或LILO系统引导管理器也位于这个目录;

/dev 设备文件存储目录,比如声卡、磁盘... ...

/etc 系统配置文件的所在地,一些服务器的配置文件也在这里;比如用户帐号及密码配置文件;

/home 普通用户家目录默认存放目录;

/lib 库文件存放目录

/lost+found 在ext2或ext3文件系统中,当系统意外崩溃或机器意外关机,而产生一些文件碎片放在这里。当系统启动的过程中fsck工具会检查这里,并修复已经损 坏的文件系统。 有时系统发生问题,有很多的文件被移到这个目录中,可能会用手工的方式来修复,或移到文件到原来的位置上。

/media 即插即用型存储设备的挂载点自动在这个目录下创建,比如USB盘系统自动挂载后,会在这个目录下产生一个目录 ;CDROM/DVD自动挂载后,也会在这个目录中创建一个目录,类似cdrom 的目录。这个只有在最新的发行套件上才有,比如Fedora Core 4.0 5.0 等。可以参看/etc/fstab的定义;

/misc

/mnt 这个目录一般是用于存放挂载储存设备的挂载目录的,比如有cdrom 等目录。可以参看/etc/fstab的定义。有时我们可以把让系统开机自动挂载文件系统,把挂载点放在这里也是可以的。主要看/etc/fstab中怎 么定义了;比如光驱可以挂载到/mnt/cdrom 。

/opt 表示的是可选择的意思,有些软件包也会被安装在这里,也就是自定义软件包,比如在Fedora Core 5.0中,OpenOffice就是安装在这里。有些我们自己编译的软件包,就可以安装在这个目录中;通过源码包安装的软件,可以通过 ./configure --prefix=/opt/目录 。

/proc 操作系统运行时,进程(正在运行中的程序)信息及内核信息(比如cpu、硬盘分区、内存信息等)存放在这里。/proc目录伪装的文件系统proc的挂载 目录,proc并不是真正的文件系统,它的定义可以参见 /etc/fstab 。

/root Linux超级权限用户root的家目录;

/sbin 大多是涉及系统管理的命令的存放,是超级权限用户root的可执行命令存放地,普通用户无权限执行这个目录下的命令,这个目录和/usr/sbin; /usr/X11R6/sbin或/usr/local/sbin目录是相似的; 我们记住就行了,凡是目录sbin中包含的都是root权限才能执行的。

/tmp 临时文件目录,有时用户运行程序的时候,会产生临时文件。/tmp就用来存放临时文件的。/var/tmp目录和这个目录相似。

/usr 这个是系统存放程序的目录,比如命令、帮助文件等。这个目录下有很多的文件和目录。当我们安装一个Linux发行版官方提供的软件包时,大多安装在这里。 如果有涉及服务器配置文件的,会把配置文件安装在/etc目录中。/usr目录下包括涉及字体目录/usr/share/fonts ,帮助目录 /usr/share/man或/usr/share/doc,普通用户可执行文件目录/usr/bin 或/usr/local/bin 或/usr/X11R6/bin ,超级权限用户root的可执行命令存放目录,比如 /usr/sbin 或/usr/X11R6/sbin 或/usr/local/sbin 等;还有程序的头文件存放目录/usr/include。

/var 这个目录的内容是经常变动的,看名字就知道,我们可以理解为vary的缩写,/var下有/var/log 这是用来存放系统日志的目录。/var/www目录是定义Apache服务器站点存放目录;/var/lib 用来存放一些库文件,比如MySQL的,以及MySQL数据库的的存放地;

我们再补充一下一些比较重要的目录的用途;

/etc/init.d 这个目录是用来存放系统或服务器以System V模式启动的脚本,这在以System V模式启动或初始化的系统中常见。比如Fedora/RedHat;
/etc/xinit.d 如果服务器是通过xinetd模式运行的,它的脚本要放在这个目录下。有些系统没有这个目录, 比如Slackware,有些老的版本也没有。在Rehat/Fedora中比较新的版本中存在。

/etc/rc.d 这是Slackware发行版有的一个目录,是BSD方式启动脚本的存放地;比如定义网卡,服务器开启脚本等。

/etc/X11 是X-Windows相关的配置文件存放地;
比如下面的例子:

[root@localhost ~]# /etc/init.d/sshd start   注:启动sshd服务器
[root@localhost ~]# /etc/init.d/sshd stop 注:停止sshd服务器
启动 sshd:                                                [确定]

这就是典型的sshd 服务器 System V模式启动脚本,通过这运行这个脚本可以启动sshd服务器了。

/usr/bin 这个目录是可执行程序的目录,普通用户就有权限执行; 当我们从系统自带的软件包安装一个程序时,他的可执行文件大多会放在这个目录。比如安装gaim软件包时。相似的目录是/usr/local/bin; 有时/usr/bin中的文件是/usr/local/bin的链接文件;

/usr/sbin 这个目录也是可执行程序的目录,但大多存放涉及系统管理的命令。只有root权限才能执行;相似目录是/sbin 或/usr/local/sbin或/usr/X11R6/sbin等;

/usr/local 这个目录一般是用来存放用户自编译安装软件的存放目录;一般是通过源码包安装的软件,如果没有特别指定安装目录的话,一般是安装在这个目录中。这个目录下 面有子目录。自己看看吧。

/usr/lib 和/lib 目录相似,是库文件的存储目录;

/usr/share 系统共用的东西存放地,比如 /usr/share/fonts 是字体目录,是用户都共用的吧。

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

/usr/src 是内核源码存放的目录,比如下面有内核源码目录,比如 linux 、linux-2.xxx.xx 目录等。有的系统也会把源码软件包安装在这里。比如Fedora/Redhat,当我们安装file.src.rpm的时候,这些软件包会安装在/usr /src/redhat相应的目录中。请参考: 《file.src.rpm 使用方法的简单介绍》 。另外Fedhat 4.0 5.0,他的内核源码包的目录位于/usr/src/kernels目录下的某个目录中(只有安装后才会生成相应目录);

/var/adm 比如软件包安装信息、日志、管理信息等,在Slackware操作系统中是有这个目录的。在Fedora中好象没有;自己看看吧。
/var/log 系统日志存放,分析日志要看这个目录的东西;
/var/spool 打印机、邮件、代理服务器等假脱机目录;


4、本文未尽事宜;

由于Linux发行版很多,总有一点差别,但总体上还是差不多。多列目录看看就慢慢明白了。Windows的好多目录,我们也不是一样不知道它是用 来做什么的,但我们一样用Windows。再说目前Linux一样可以点鼠标来查看这些目录,没有什么难的。如果不会用命令,点鼠标总会看,对不对?


5、关于本文;

本文是Linux文件系统的一个组成部份,对于一个系列文档来说,还是必不可缺的,它也是基础文档之一。因为我想能过本文引出Linux文件相关的 操作的文章 。为新手写的... ....


6、后记;

写文档是一个坚持的过程,写文档还是给了我很多的乐趣 ,权限休闲而写,并没有感觉到有多痛苦;如果一件事被当成压力,也没有什么乐趣而言,如果果真如此,不如不做。在随后,我可能写一写Linux文件相关的 内容,比如创建、删除、移动、属性、权限等;


7、参考文档

man fstab


8、相关文档

《Linux 文件系统概述》


posted @ 2010-10-17 08:18 张贵川 阅读(209) | 评论 (0)编辑 收藏

作者:王聪

引言

     最近在做操作系统方面的研究,不得不去下一个虚拟机 来用。由于我不使用Windows,所以选择很少了。因为在Linux上,差不多就只有两款好的 虚拟机——Bochs和Qemu。这两个之中,Bochs是用C++编写,能在很多平台上使用,而且不论什么平台, 它都不倚赖主机的指令系统,总是模拟x86。所以我选择了Bochs。但是,我惊讶地发现 关于如何在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, 以及相关文档。安装完毕后,你可以先试试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镜像文件相关的文件
/usr/bin/bochs-dlx 启动Bochs中DLX linux的程序
/usr/share/bochs/dlxlinux/ DLX Linux的目录,包含它的磁盘镜像文件和配置文件
/usr/share/bochs/keymaps/*.map X11和SDL的keymap列表

     命令bohcs可以接受4个参数:-q 加载配置文件后跳过开始菜单;-f configfile 识别指定的配制文件;-n 不加载配置文件;-h 打印帮助信息;-qf configfile 相当于同时使用-q和-f两个选项。使用Bochs,你必须有一个配置文件,或者你通 过-f参数指定,或者让Bochs自己搜索。配置文件的作用是告诉Bochs到哪里寻找镜像 文件,模拟层如何工作等。Bochs搜索配置文件的顺序是:


  1. bochsrc 在当前目录中


  2. .bochsrc 在用户的主目录中

  3. bochsrc /etc 目录中

以dlx-linux的配置文件为例,讲一下如何定制你需要的配置文件。dlx-linux的 配置文件是/usr/share/doc/bochs目录中的bochsrc-sample.txt。它的内容 如下:
###############################################################
# 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的内存。注意:后面的数字最大为2048,但是因为主机系统的限制,在 大多数系统上,Bochs甚至不能支持1024M。
romimage: file=$BXSHARE/BIOS-bochs-latest, address=0xf0000
指明ROM的镜像文件在哪,开机时ROM BIOS被加载到哪里。$BXSHARE是环境变量,指明 Bochs的share目录,在Linux上为/usr/share/bochs。这一般不用改动。下面的vgaromimage 指明VGA ROM的镜像文件位置。
floppya: 1_44=floppya.img, status=inserted
floppyb: 1_44=floppyb.img, status=inserted
floppya是第一软驱,floppyb是第二软驱。后面标明的是软驱镜像文件的位置,软盘 是否插入。可以根据你的需要做适当的修改。
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通道,后面指明它附带的设备是硬盘,硬盘镜像文件路径,硬盘柱面数,磁头数等参数。
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”后,显示相关的硬盘信息。询问想要什么镜像文件名字?默认的是 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还有强大的调试功能,详细请参阅用户 手册第8章。Bochs主页上还有一些做好的系统镜像,比如:OpenBSD,FreeDOS等。 不妨下载一个来试试。 Bochs的确是一款优秀的工具,我推荐给每一位做操作系统研究的朋友。


posted @ 2010-10-16 18:12 张贵川 阅读(687) | 评论 (0)编辑 收藏

首先说明希望学linux的朋友能够忘记windows,最起码忘记windows下的盘符、应用程序等基础的东西,其次要深刻明白linux和windows是2个不同的系统平台,可以去对比着学习,但不要直接拿windows那套东西直接套用到linux学习中。

学习方向:

一、桌面系统,就是系统安装好后的视窗系统,在windows下叫windows,在linux下叫 X Windows,其实只是名字不一样而已(ps:看看红旗做的桌面,真是跟windows要做象有多象,真晕,这样虽然有助于linux桌面的使用,但对于linux系统的推广真是没什么好处)

       很多初学linux人的安装好linux后,进入其 X windows桌面,兴奋不已,以为大工告成,linux自己会了,这种想法是很可怕的;如果我告诉你linux的X windows环境不是linux 系统,它只是在linux下面运行的应用程序(类似于在windows下运行office2000),你是怎么想的?

       windows下的应用程序几乎是不能直接在linux系统下安装和使用,学编程的应该明白,所以不要去找windows工具盘安装你的RAR,QQ,realone等常用工具,你是装不上的。

       你可以尝试去安装你硬件的最新驱动程序,安装linux下的常用工具,做一些linux简单的汉化,你就会理解经常在论坛里问这方面问题的朋友的困难了。

       总之,学桌面,不是学linux系统。


二、内核源代码学习。跟unix操作系统一样都是用C语言编写。

     去买正版的linux系统(不是很贵),会附带一张或者2张linux源代码盘,
     linux程序员从这里开始,是起点也是终点~~~~
     c就是比较NB,可以本人放弃~~~不是那块料啊!!!!

     很羡慕能经常写些读核日记的朋友,强啊!支持你们~~~~~~~~~
     有兴趣的朋友可以尝试~~~从身边做c的朋友那里看到,以后会受益终身的!


三、系统管理

       也就是管理linux系统环境:SHELL、图形、系统服务、硬件驱动等等。

       系统管理LINUX跟UNIX类似(是看了些unix系统管理才这样说的),基本上都是通过命令----->配置文件----->脚本文件。

       初学这建议从这里开始,不要一味去安装Xwindows,这个X windows环境只要你尽量保持经常使用,相信学会是自然而然的事情.(感觉那真实没什么好学的,只要计算机应用在1年以上的朋友,应该都能在下面操作吧)


四、应用开发

         在linux应用上,LINUX确实跟它的竞争对手WINDOWS相比还有一定的差距.(大家都用的饿是盗版啊,如果都用正版的系统,你看用linux的多还是用windows的多,开发 linux程序的人多还是开发windows程序的人多,钱在那里摆着呢)

         不过在高端的应用上,linux的市场是越来越大,如:

linux内核开发;
         ----PDA个人掌上电脑;
         ----专用的网络设备;防火墙设备,VPN设备。。。我都见过,是用linux编写的,国产的,现在销售的十分不错;
         ----硬件驱动程序


linux网络编程:
         ----php编程,建立动态站点;
         ----jsp编程,
         ----perl,cgi编程;
linux系统下数据库的开发:
         ----my sql中小型数据库系统;
         ----oracle数据库
         ----DB2数据库,IBM数据库系统

五、服务器领域

         一说linux,很多自然就想到了做服务器,但现在网络服务器方面,linux的市场占有率确实是第一的;


linux服务器领域:
         ----代理服务器,使用的是linux的iptables功能;
         ----电影服务器,使用的是linux的samba服务的功能,文件和打印共享服务器
         ----游戏服务器,cs服务器,在linux系统下使用cs的linux版本建立的服务器
         ----客户存档服务器,采用的linux的ftp服务器,常用的有:wu-ftp,pro-ftp软件建立的

         ----www服务器,使用的是linux下的apache服务器软件
         ----ftp服务器,下载服务器,使用的是linux下的wu-ftp,pro-ftp,vs-ftp软件
         ----mail服务器,采用的是linux下的sendmail,qmail软件
         ----dns服务器,使用的是linux下的bind软件
         ----数据库服务器,使用的是mysql或者oracle软件
         ----防火墙,软件防火墙服务器,使用的是linux的iptables功能建立的
         ----路由器,软路由器,使用的是linux下的routed软件建立的
         ----拨号服务器,vpn服务器等等


六、系统集成

         范围太广,内容太多。相信IBM等建立的linux研发中心主要就是做这个的。
posted @ 2010-10-14 21:00 张贵川 阅读(266) | 评论 (0)编辑 收藏

实验一 
目的:熟悉实验环境,认识Bochs虚拟机 
内容: 
1、下载并安装Bochs 2.3.7,官方网站 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、练习修改配置文件,分别实现从光盘、硬盘或软盘启动。 

实验二 
目的:MBR的读写与分析 
内容: 
1、练习使用int 13功能获取安装了DOS 6.22系统的硬盘MBR、反汇编。 
2、使用int 13功能将获取的MBR,写到空白的硬盘上。 
3、修改MBR代码,并测试其工作流程。 

实验三 
目的:掌握分区表的数值意义 
内容: 
1、练习使用DOS 6.22自带的分区工具FDisk,把一个空白硬盘分区,观察MBR的变化。 
2、使用FDisk把一个空白硬盘分一个主分区,自定义大小,其余分为扩展分区,扩展分区上分两个逻辑分区,自定义大小。 
3、说明以上分区表的数值含义。 

实验四 
目的:DBR的读写与分析 
内容: 
1、获取正常DOS 6.22系统盘上的DBR,并反汇编、阅读。 
2、比较空白硬盘经分区后,使用Format前后DBR的差别。 
3、测试DBR的工作流程。 

实验五 
目的:掌握FAT原理 
内容: 
1、以FAT12为例,分析BPB以及FAT、根目录表。 
2、利用以上原理,通过直接改写磁盘扇区的办法,在根目录下生成一个文本文件,并写入适当的内容。

posted @ 2010-10-14 20:59 张贵川 阅读(1714) | 评论 (0)编辑 收藏

 使用插件? 
- 用户资源 
尝试状态页:告知什么已经尝试做过了,并在Bochs网站上搜寻谁获得了这个工作。 
SourceForget 
     - 查找漏洞报告 
     - 如何报告问题(象第6章那样提交FIXME请求) 
     - 如何提出特色请求 

5.1 命令行参数 
下表列出了可以用在命令行上的参数。其他参数参见bochsrc章节。 
表5-1 命令行参数 
参数                                 描述 
-q                     快速启动(跳过配置界面) 
-f filename       定义配置文件 
-n                     不尝试加载配置文件 
-r   path             定义状况还原文件的路径(如果save/restore支持被编译进来的话) 
--help               显示帮助信息和退出 
启动Bochs后这些参数会被直接处理。下一步是加载默认的或者指定的配置文件(除非使用了-n参数予以禁止)。然后其余的命令行(bochsrc选项)被依据语法分析。读取配置文件后命令行参数会覆盖配置文件的设置。 

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配置系统的文本模式版本。它是一系列菜单(使用 stdin/stdout),根据这一系列菜单允许你编辑所有控制Bochs行为的设置。如果你没有写一个配置界面行,Bochs会为你选择'textconfig'模式的配置界面作为默认设置(除非Bochs被编译为仅限使用wxWidgets模式)。 
'textconfig'模式的配置界面有以下三部分组成: 
开始菜单 
顶端工具栏 
运行时配置 

5.3.1 开始菜单 
如果你没有使用快速启动参数(-q)来启动Bochs,Bochs配置主菜单将出现: 
------------------------------ 
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”编辑所有的设置。如果你想把这次的配置应用到以后的Bochs登陆,请不要忘记保存这次的配置信息。 

5.3.2 Bochs顶端工具栏 

顶端工具栏出现在Bochs仿真窗口的顶部。如果你单击这些按钮中的某一个可以控制Bochs的运行时行为。 
软盘按钮 
在此你可以切换软盘媒体的状态(插入/弹出)。Win32版的Bochs会弹出一个小对话框,让你更改软盘镜像。你可以在配置文件中使用floppya/floppyb选项来安装软驱。 
光驱按钮 
在此你可以切换光盘媒体的状态(插入/弹出)。你可以在配置文件中使用ata(0-3)-master/-slave选项来安装光驱。 
鼠标按钮 
这个按钮具有让你激活主机鼠标事件的作用。一旦鼠标事件被捕获,你就不能再使用这个按钮来禁止捕获了。在这种情况下,使用“Ctrl+第三鼠标按钮”来禁止鼠标事件的捕获。 
支持两键鼠标切换捕获模式现在还没有完成。一些显示库还不支持新特性,但是它已经支持X11、SDL、wxWidgets和Win32。 
用户按钮 
如果你想发送通过user_shortcut选项定义的键盘快捷键到客户端,按这个按钮。根据使用的display_library选项,有可能在发送之前编辑快捷键。 
复制按钮 
按这个按钮后文本模式屏的文本能被输出到剪贴板,这个按钮在图形模式下无效。 
粘贴按钮 
剪贴板上的文本作为模拟按键,也可通过Bochs粘贴到客户操作系统。键盘映射必须支持这一特色功能。 
快照按钮 
如果你想保存一个文本模式屏的快照按这个按钮。Windows32版的Bochs会弹出一个“Save as...”对话框。其他平台会利用修改“snapshot.txt”文件实现。 
配置按钮 
这个按钮会停止Bochs仿真而开始运行时配置。(见下文) 
复位按钮 
按此按钮触发一次硬件复位。 
电源按钮 
这个按钮停止仿真并退出Bochs。 
在你的主机平台上,这些功能中有的执行或工作起来会有所不同。 

5.3.3 运行时配置 
如果你想在运行时改变某些设置,你不得不按顶端工具栏上的配置按钮。仿真停止,运行时菜单出现在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] 
在运行时配置中,你可以改变软盘/光盘镜像或者设备,改变日志选项或者调整其他设置。如果你在使用特定的设备时有麻烦,你可以为此设备改变日志选项,结果是获得更多的信息(例如:报告调试信息)。然而,这不能在配置文件中做到。 

5.4 保存和还原仿真 
从2.3版开始,Bochs具有有限的“保存/还原”支持。CPU(s)、内存和所有设备的状态可以被保存。当运行Bochs时,顶端工具栏会有一个“Suspend”按钮。依据配置接口和图形用户界面,使用此按钮会有一个让你输入路径的提示,或者让你选择图形用户界面文件夹的对话框。允许在任何时候保存仿真状态,但是我们推荐但仿真空闲时去做这件事。当按下OK/Enter之后,Bochs会把一套文件保存到选定的文件夹中。然而硬盘镜像的状态不被处理,所以Bochs会询问你保存状态后是否想继续。我们不推荐你继续,除非你正运行一个只读的客户系统(例如:Live-CD)。 
(译者注:Live CD(台译为:自生系统)是:“事先储存于某种可移动存储介质上,可不特定于计算机硬件(non-hardware-specific)而启动的操作系统(通常亦包括一些其他软件)”,不需安装至计算机的本地外部存储器 - 硬盘。采用的介质包括CD-ROM (Live CD),DVD (Live DVD),闪存盘(Live USB)甚至是软盘等。退出自生系统并重新开机后,计算机就可以恢复到原本的操作系统。自生系统的运作机制,是透过“把原本放在硬盘里的档案,放到内存的虚拟磁盘中”来运作;因此系统内存愈大,则执行速度愈快。资料来源http://zh.wikipedia.org/wiki/LiveCD) 
要还原保存的仿真状态,你可以选择在文本模式下的开始菜单中的还原功能,或者在命令行中指定还原路径: 
bochs -r /path/to/save-restore-data 
于是Bochs使用保存的配置和日志选项启动,恢复硬件状态开始仿真。在还原模式,Bochs会从命令行中忽略bochsrc选项,也不加载常规的配置文件。(第5章 完)

posted @ 2010-10-14 11:43 张贵川 阅读(1669) | 评论 (0)编辑 收藏

挂接命令(mount) 
  首先,介绍一下挂接(mount)命令的使用方法,mount命令参数非常多,这里主要讲一下今天我们要用到的。

  命令格式:

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

  其中:

  1.-t vfstype 指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。常用类型有:

  光盘或光盘镜像:iso9660

  DOS fat16文件系统:msdos

  Windows 9x fat32文件系统:vfat

  Windows NT ntfs文件系统:ntfs

  Mount Windows文件网络共享:smbfs

  UNIX(LINUX) 文件网络共享:nfs

  2.-o options 主要用来描述设备或档案的挂接方式。常用的参数有:

  loop:用来把一个文件当成硬盘分区挂接上系统

  ro:采用只读方式挂接设备

  rw:采用读写方式挂接设备

  iocharset:指定访问文件系统所用字符集

  3.device 要挂接(mount)的设备。

  4.dir设备在系统上的挂接点(mount point)。

  挂接光盘镜像文件

  由于近年来磁盘技术的巨大进步,新的电脑系统都配备了大容量的磁盘系统,在Windows下许多人都习惯把软件和资料做成光盘镜像文件通过虚拟光驱来使用。这样做有许多好处:一、减轻了光驱的磨损;二、现在硬盘容量巨大存放几十个光盘镜像文件不成问题,随用随调十分方便;三、硬盘的读取速度要远远高于光盘的读取速度,CPU占用率大大降低。其实linux系统下制作和使用光盘镜像比Windows系统更方便,不必借用任何第三方软件包。

  1、从光盘制作光盘镜像文件。将光盘放入光驱,执行下面的命令。

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

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

   注:执行上面的任何一条命令都可将当前光驱里的光盘制作成光盘镜像文件/home/sunky/mydisk.iso

  2、将文件和目录制作成光盘镜像文件,执行下面的命令。

   #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系统而言,USB接口的移动硬盘是当作SCSI设备对待的。插入移动硬盘之前,应先用fdisk –l 或 more /proc/partitions查看系统的硬盘和硬盘分区情况。

  [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

  在这里可以清楚地看到系统有一块SCSI硬盘/dev/sda和它的四个磁盘分区/dev/sda1 -- /dev/sda4, /dev/sda5是分区/dev/sda4的逻辑分区。接好移动硬盘后,再用fdisk –l 或 more /proc/partitions查看系统的硬盘和硬盘分区情况

  [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

  大家应该可以发现多了一个SCSI硬盘/dev/sdc和它的两个磁盘分区/dev/sdc1?、/dev/sdc2,其中/dev/sdc5是/dev/sdc2分区的逻辑分区。我们可以使用下面的命令挂接/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格式的磁盘分区应使用-t ntfs 参数,对fat32格式的磁盘分区应使用-t vfat参数。若汉字文件名显示为乱码或不显示,可以使用下面的命令格式。

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

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

  linux系统下使用fdisk分区命令和mkfs文件系统创建命令可以将移动硬盘的分区制作成linux系统所特有的ext2、ext3格式。这样,在linux下使用就更方便了。使用下面的命令直接挂接即可。

   #mount /dev/sdc1 /mnt/usbhd1 

挂接U盘

  和USB接口的移动硬盘一样对linux系统而言U盘也是当作SCSI设备对待的。使用方法和移动硬盘完全一样。插入U盘之前,应先用fdisk –l 或 more /proc/partitions查看系统的硬盘和硬盘分区情况。

  [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查看系统的硬盘和硬盘分区情况。

  [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)

  系统多了一个SCSI硬盘/dev/sdd和一个磁盘分区/dev/sdd1,/dev/sdd1就是我们要挂接的U盘。

  #mkdir -p /mnt/usb

  注:建立一个目录用来作挂接点(mount point)

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

  注:现在可以通过/mnt/usb来访问U盘了, 若汉字文件名显示为乱码或不显示,可以使用下面的命令。

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

挂接Windows文件共享

  Windows网络共享的核心是SMB/CIFS,在linux下要挂接(mount)windows的磁盘共享,就必须安装和使用samba软件包。现在流行的linux发行版绝大多数已经包含了samba软件包,如果安装linux系统时未安装samba请首先安装samba。当然也可以到www.samba.org网站下载......新的版本是3.0.10版。

  当windows系统共享设置好以后,就可以在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系统上通过/mnt/samba来访问windows系统磁盘上的文件了。以上操作在redhat as server 3、redflag server 4.1、suse server 9以及windows NT 4.0、windows 2000、windows xp、windows 2003环境下测试通过。

  挂接UNIX系统NFS文件共享

  类似于windows的网络共享,UNIX(Linux)系统也有自己的网络共享,那就是NFS(网络文件系统),下面我们就以SUN Solaris2.8和REDHAT as server 3 为例简单介绍一下在linux下如何mount nfs网络共享。

  在linux客户端挂接(mount)NFS磁盘共享之前,必须先配置好NFS服务端。

  1、Solaris系统NFS服务端配置方法如下:

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

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

   (2)启动nfs服务

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

   (3)NFS服务启动以后,也可以使用下面的命令增加新的共享

      # share /export/home/sunky1

      # share /export/home/sunky2

   注:/export/home/sunky和/export/home/sunky1是准备共享的目录

  2、linux系统NFS服务端配置方法如下:

   (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必须在服务端主机/etc/hosts文件里增加linux-client主机ip定义。格式如下:

   10.140.133.23 linux-client

   (2)启动与停止NFS服务

   /etc/rc.d/init.d/portmap start (在REDHAT中PORTMAP是默认启动的) 

   /etc/rc.d/init.d/nfs start 启动NFS服务

   /etc/rc.d/init.d/nfs stop 停止NFS服务

   注:若修改/etc/export文件增加新的共享,应先停止NFS服务,再启动NFS服务方能使新增加的共享起作用。使用命令exportfs -rv也可以达到同样的效果。

  3、linux客户端挂接(mount)其他linux系统或UNIX系统的NFS共享

   # mkdir –p /mnt/nfs

   注:建立一个目录用来作挂接点(mount point)

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

   注:这里我们假设10.140.133.9是NFS服务端的主机IP地址,当然这里也可以使用主机名,但必须在本机/etc/hosts文件里增加服务端ip定义。/export/home/sunky为服务端共享的目录。

  如此就可以在linux客户端通过/mnt/nfs来访问其它linux系统或UNIX系统以NFS方式共享出来的文件了。以上操作在redhat as server 3、redflag server4.1、suse server 9以及Solaris 7、Solaris 8、Solaris 9 for x86&sparc环境下测试通过。

LOOP设备

loop 设备 (循环设备)

1. loop 设备介绍
在类 UNIX 系统里,loop 设备是一种伪设备(pseudo-device),或者也可以说是仿真设备。它能使我们像块设备一样访问一个文件。

在使用之前,一个 loop 设备必须要和一个文件进行连接。这种结合方式给用户提供了一个替代块特殊文件的接口。因此,如果这个文件包含有一个完整的文件系统,那么这个文件就可以像一个磁盘设备一样被 mount 起来。

上面说的文件格式,我们经常见到的是 CD 或 DVD 的 ISO 光盘镜像文件或者是软盘(硬盘)的 *.img 镜像文件。通过这种 loop mount (回环mount)的方式,这些镜像文件就可以被 mount 到当前文件系统的一个目录下。

至此,顺便可以再理解一下 loop 之含义:对于第一层文件系统,它直接安装在我们计算机的物理设备之上;而对于这种被 mount 起来的镜像文件(它也包含有文件系统),它是建立在第一层文件系统之上,这样看来,它就像是在第一层文件系统之上再绕了一圈的文件系统,所以称为 loop。

在 Linux 里,loop 设备的设备名形如:
引用
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           #使磁盘镜像文件与循环设备连结起来
mount /dev/loop0 /home/groad/disk_test   #将循环设备 mount 到目录 disk_test 下

经过上面的两个命令后,镜像文件就如同一个文件系统挂载在 disk_test 目录下,当然我们也可以往镜像里面添加文件。

其实上面的两个步骤可以写成一个步骤:
引用
mount -t minix -o loop ./disk.img ./disk_test

其中,加了 -o loop 指定后,那么也就相当于执行了第一行的 losetup 命令。做一个简单的试验可以证明一点,首先分开执行 losetup 和 mount 命令,那么我们看到我们可以 mount 的是 /dev/loop0 这个设备。当我们在 mount 中指定参数 -o loop 时,镜像文件其实已和 /dev/loop1 相关联,这里我们在挂载镜像文件后,尝试再执行一下 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 -- 设置循环设备

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

说明
此命令用来设置循环设备。循环设备可把文件虚拟成块设备,籍此来模拟整个文件系统,让用户得以将其视为硬盘驱动器,光驱或软驱等设备,并挂入当作目录来使用。
上面,命令格式中的选项与参数名:
-e 表示加密的方式
-o 设置数据偏移量
-d 卸载设备
loop_device 循环设备名,在 linux 下如 /dev/loop0 , /dev/loop1 等。
file 要与循环设备相关联的文件名,这个往往是一个磁盘镜象文件,如 *.img
posted @ 2010-10-14 10:32 张贵川 阅读(1014) | 评论 (0)编辑 收藏

仅列出标题
共5页: 1 2 3 4 5