摘要:
rrdtool 1.2.x 的差異
[b:089f11dd4f]1.說明[/b:089f11dd4f]
自從上次的 rrdtool 教學後,頗受好評,不過實至今日, rrdtool 巳從 1.0.x 昇級至 1.2.x 版本,這個 1.2.x
版本基本除了 graph 外,並沒有太多太大的變動,而在 graph 上新增了許多功能,本文的目的主要是向大家解釋
這些新的東西,至於原有的東西您可自參考
http://phorum.study-area.......
摘要:
我做了一个动画教程,文字叙述也没什么好说的,这方法很简单,关键是想没想到的问题了,你一看就会了。 :mrgreen:
下载地址:
[url]http://www.grlinux.net/squall/soft_raid5.rar[/url]
panliming 回复于:2005-05-21 09:51:57
up
platinum 回复于:2005-05-21 09:53:20
希望楼主再接再厉,也希望这个地址不会因为时......
關於bootloader的思考和疑問
接觸unix/unix like的東西已經有一段時間了, 在一台機器上裝多個系統是避免不了的. 有時候經常被bootloader弄得很苦惱. 如果你在安裝系統或者lilo的時候不小心選擇錯了, 系統間的bootloader經常相互覆蓋. 衆所周知, 在unix/unix like世界裏沒有誰能統治誰. 於是我就在想能不能找到一個單獨的, 與系統無關的bootloader, 這個東西的作用只是在mbr中來引導其他系統自己的bootloader些且不需要向grub那樣有很多的功能. 不知道我的想法是不是很愚蠢 【相关文章:
请问LINUX下如何看在何种模式下工作?】 【扩展阅读:
[原创]Bridge-Howto】
【扩展信息:
LINUX做代理服务器,800个客户端,】
独孤九贱 回复于:2005-06-17 09:30:06
不太明白,bootloader好像本身就与系统无关吧?我想你的问题主要还是对这些东东了解不够!
platinum 回复于:2005-06-17 10:03:00
bootloader 是通过写在 mbr 中的一段代码激发的
系统启动的时候,bios 先要检测硬盘,当发现硬盘 0 道 0 面 1 扇区的最后两个字节为 55 aa 的时候,将该扇区数据载入 0x7c00 物理地址,然后开始运行里面的程序
那个扇区里前半部分是引导程序,后面是硬盘的 4 个主分区表,引导程序负责再载入其他引导程序,例如 bootloader 等,然后将其移动到内存高端地址,其后做一个跳转,将控制权向下转交
sakulagi 回复于:2005-06-17 10:07:54
除了第一个系统,其他的系统都可以选择把boot loader装在自己的分区上,而不是mbr上(windows除外)。这样可以每装一个新系统,都去修改一下第一个系统的boot loader 的设置就可以了。
platinum 回复于:2005-06-17 10:09:37
[quote:8e11958dfe="sakulagi"]除了第一个系统,其他的系统都可以选择把boot loader装在自己的分区上,而不是mbr上(windows除外)。这样可以每装一个新系统,都去修改一下第一个系统的boot loader 的设置就可以了。[/quote:8e11958dfe]
其实 windows 也是将实际的 win 引导部分写在自己逻辑分区的 1 扇区上面的,如果用 debug 载入 0 道 0 面 1 扇区后就可以得到证实,mbr 的部分只不过是一个“跳板”
风流涕淌 回复于:2005-06-17 10:15:03
[quote:303de9d0a7="platinum"]bootloader 是通过写在 mbr 中的一段代码激发的
系统启动的时候,bios 先要检测硬盘,当发现硬盘 0 道 0 面 1 扇区的最后两个字节为 55 aa 的时候,将该扇区数据载入 0x7c00 物理地址,然后开始运行里面的程序
那?.........[/quote:303de9d0a7]
偶像,我刚刚学linux时,看到有人曾把版主的这个地址表拿出来讲课,当时我很晕,现在听来,明白了一些
强
sakulagi 回复于:2005-06-17 10:31:31
[quote:5af6066499="platinum"]
其实 windows 也是将实际的 win 引导部分写在自己逻辑分区的 1 扇区上面的,如果用 debug 载入 0 道 0 面 1 扇区后就可以得到证实,mbr 的部分只不过是一个“跳板”[/quote:5af6066499]
主要是windows安装的时候一定要把自己的”跳板“写在mbr里,然后指向自己的分区。这点不是很爽。
platinum 回复于:2005-06-17 10:58:11
[quote:4520ec1bbe="sakulagi"]
主要是windows安装的时候一定要把自己的”跳板“写在mbr里,然后指向自己的分区。这点不是很爽。[/quote:4520ec1bbe]
是呀是呀 :d
不过好像所有的 os 几乎都是用同一个“跳板”,真正自己的引导程序在自己的逻辑分区的第一个扇区上
一些早期的引导型病毒,以及某些 bootloader,还有些硬盘加密卡,他们会修改 mbr,做个“钩子”出来
flw 回复于:2005-06-17 11:00:11
[quote:4d6391e257="sakulagi"]主要是windows安装的时候一定要把自己的”跳板“写在mbr里,然后指向自己的分区。这点不是很爽。[/quote:4d6391e257]
9494,这点不爽。
而且还要自动激活 windows 分区。
其实我发现,先装 linux,再装 windows,那么 windows 的 mbr 程序(注意不是 boot record)也可以引导 linux。
方法就是在 windows 的磁盘管理器中将 linux 的 grub 所在分区设置成活动分区就可以了。
flw 回复于:2005-06-17 11:04:01
mbr 是哪个操作系统装的并不重要,
因为 mbr 还算是有规范的:最终都会跳到活动分区的 boot record 中去,
所以,只需要将 boot loader 写到自己的 boot record 中,然后再设置好活动分区,就不怕有多少个操作系统了。
我一般都是 mbr 到 grub,然后用 grub 引导多系统。
我从不把 grub 写到 mbr,就是怕 windows 搞坏它。
风流涕淌 回复于:2005-06-17 11:29:26
[quote:ac6ee46668="flw"]mbr 是哪个操作系统装的并不重要,
因为 mbr 还算是有规范的:最终都会跳到活动分区的 boot record 中去,
所以,只需要将 boot loader 写到自己的 boot record 中,然后再设置好活动分区,就不怕有多少个操作系统..........[/quote:ac6ee46668]
我一般都是 mbr 到 grub,然后用 grub 引导多系统。
我从不把 grub 写到 mbr,就是怕 windows 搞坏它。
这两句不懂
mbr到grub与grub到mbr有什么区别??? 偶像
glider126 回复于:2005-06-17 12:36:58
我一般都是 mbr 到 grub,然后用 grub 引导多系统。
我从不把 grub 写到 mbr,就是怕 windows 搞坏它。
我也看不懂~
~~~~~~~~~~~
我的个人理解(有疑问大家可以一起讨论):
呵呵~~~ mbr只是一个指针,mbr说跳到哪里执行就从哪里执行.
这个哪里执行,其实就是一个os loader (也是一个程序)的位置,或者就是直接的os的启动代码位置,负责把os引导起来.
grub是一个os loader,lilo也是一个os loader,nt也有一个load,好像叫什么 xxx load,忘记了~~
os loader与操作系统无关~~~~
不过os loader的位置与是否可以启动os有关,因为bios只能读到8g硬盘前的数据(os loader没有载入之前,硬件是bios控制的),os loader别装太后面(8g后面),至于os的启动文件在哪里就没有8g的限制,因为grub载入后可以读到整个硬盘的数据了~~~
platinum 回复于:2005-06-17 12:46:51
[quote:55da2fabb1="glider126"]
因为bios只能读到8g硬盘前的数据(os loader没有载入之前,硬件是bios控制的)[/quote:55da2fabb1]
bios 用中断 0x13
mbr 里面也调用中断 0x13
mbr 是一个标准,几乎所有硬盘里面的 mbr(除了分区表)都是一样的,bios 都是把把硬盘的物理第 1 扇区载入内存,然后 mbr 跳转到到某个逻辑分区的引导程序上来完成引导的
好了,问题出来了,bios 是用 0x13,而且调用的就是 bios 的 0x13,因此恐怕说“因为bios只能读到8g硬盘前的数据”是错误的 :em11:
flw 回复于:2005-06-17 13:43:26
>>>mbr只是一个指针
================
mbr 是 master boot record 的简称。
主引导记录,也是机器控制权交给用户程序的唯一入口。
glider126 回复于:2005-06-17 15:17:35
the interrupt 13h interface
when ibm engineered the at they put the interface for the harddisk (int 13h) in the system bios.
whenever an application wants to read from/write to a drive, it calls dos.
dos knows the structure of the disk and where the target file is located. it then calculates a chs (cylinder, head, sector) address and calls the bios via int 13h.
the bios then executes the read or write command at this chs address by accessing the hd controller directly via its i/o-port addresses.
the result is passed back to dos who passes it back to the application.
this scheme makes dos (drive) hardware independent and leaves the hardware specifics to the bios.
the traditional bios int 13h interface has the following limitations (when called from dos):
1024 cylinders, 256 heads and 63 sectors/track.
with 512 bytes/sector this counts up to 8 gb (8064 mb)!
platinum 回复于:2005-06-17 15:33:47
int 13h 有扩展入口,可以读写 8g 以上的空间
glider126 回复于:2005-06-17 16:16:58
platinum :
/dev/hda1 / 20g
/dev/hda2 /boot 100m
/dev/hda3 swap 256m
grub装在/boot里
请问,这个系统可以使用grub引导启动linux吗?
platinum 回复于:2005-06-17 16:24:11
mbr -> 某个逻辑区的引导信息(一般是第一个)
在你这里,就是指的 / ,如果你的 mbr 指向的是 /boot,那么你就能引导,否则会用 / 的引导信息引导,就会报错
换句话说,即使是普通的 mbr(未经特殊修改), /boot 是 hda1,而 / 是 /hda2,那么也能引导
以上仅是理论分析,曾经看过 mbr 的一些资料,对里面的数据结构有所了解,但不知用来解释这个是否正确,还请指正
风流涕淌 回复于:2005-06-17 16:33:10
[quote:bbb2149a5e="flw"]>>>mbr只是一个指针
================
mbr 是 master boot record 的简称。
主引导记录,也是机器控制权交给用户程序的唯一入口。[/quote:bbb2149a5e]
有一点了解,不知我理解的对不对
正常应是mbr交给kernel
而现在是mbr交给grub
再由grub交给kernel
可以这样理解吗
面筋粘知了 回复于:2005-06-17 17:11:06
到底谁能权威的、通俗的把boot loader的过程解释一下啊?
flw 回复于:2005-06-17 17:12:49
[quote:30af49a228="风流涕淌"]有一点了解,不知我理解的对不对
正常应是mbr交给kernel
而现在是mbr交给grub
再由grub交给kernel
可以这样理解吗[/quote:30af49a228]
mbr 根本就不管什么内核不内核的,它不懂这个,你说了它还是不懂。
它只知道简单地查表,查分区表,分区表一般是 64 个字节,每条记录 16 个字节,共 4 条记录。到网上找找,有分区表的记录格式。
分区表的每条记录记录了以下信息:
分区起始扇区、分区终止扇区、分区类型、活动分区标志。等等。
mbr 会查找活动分区标志,活动分区应该只有一个,找到后,mbr 会根据分区表的记录信息,找到那个分区,并且将其逻辑 0 扇区(boot record)载入内存,也就是 0x7c00,然后执行 jump 0x07c0:0000 就将控制权交给 boot record 了。
boot record 一般就是 os loader,比如 linux 的 bootsect.s,或者 ms-dos 的 boot.asm,但是现在的操作系统的大多都允许别的操作系统与它并存,因此,各个厂商就开发了自己的 os loader 用来装载多个操作系统。
比如 sco 的 boot 冒号提示符就可以引导多个操作系统,linux 则奉行一贯的拿来主义,采用了 grub,lilo 等。windows 也有自己的 os loader,不过对非 ms 系统不太友好而已。
os loader 接受用户选择,然后再次载入用户选择操作系统的 loader,比如 linux 的 boot/bootsect.s 就是。
当然了,grub lilo 等多操作系统引导程序本身不去判断将要载入的是什么程序(其实什么程序都一样,都是一段汇编),因此,在我的机器上,grub 可以跳到 sco 的 boot:,然后我还可以跳回来再跳到 grub,总之道理明白了就好理解了。
flw 回复于:2005-06-17 18:36:40
这个是我收藏的。
[code:1:d28be634d4]硬盘、分区引导与操作系统加载程序
(4458 个字於此篇帖子)
(已阅读: 2484 次)
发信人: suzhe (i love linux), 信区: freedevelop
标 题: harddisk,partition,boot,osloader专题
发信站: bbs 水木清华站 (sat nov 20 16:45:44 1999)
第一部分 简 介
1,1
一. 硬盘结构简介
1. 硬盘参数释疑
到目前为止, 人们常说的硬盘参数还是古老的 chs (cylinder/
head/sector)参数. 那么为什么要使用这些参数, 它们的意义是什么?
它们的取值范围是什么?
很久以前, 硬盘的容量还非常小的时候, 人们采用与软盘类似的结
构生产硬盘. 也就是硬盘盘片的每一条磁道都具有相同的扇区数. 由此
产生了所谓的3d参数 (disk geometry). 既磁头数(heads), 柱面数
(cylinders), 扇区数(sectors),以及相应的寻址方式.
其中:
磁头数(heads) 表示硬盘总共有几个磁头,也就是有几面盘片, 最大
为 255 (用 8 个二进制位存储);
柱面数(cylinders) 表示硬盘每一面盘片上有几条磁道, 最大为 1023
...
下一页 摘要:
如何让samba的用户和系统的用户名密码一致啊?
怎么修改
smb passwd file = /etc/samba/smbpasswd
breezec 回复于:2005-05-17 11:05:24
网上有很多相关文章,但都不清不楚……
我也很想知道,望指教……
feng0909 回复于:2005-05-18 11:08:58
希望有人给个答案,谢谢了
aib 回复于:2005-05-18 12:03:03
精华贴里有......