`
97140
  • 浏览: 50306 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

突破极限 解决大硬盘上安装Unix新思路

 
阅读更多

一、问题提出

硬盘越做越大,然我喜欢让我忧。10年前就遇到过在586电脑BIOS不认识超过8.4G容量硬盘的问题,以及Windows Nt操作系统不认大硬盘(容量超过8.4G)的问题,对于Linux 通过LILO启动的时候也不能突破硬盘8.4G容量的限制。

原因主要是这样,过去的BIOS使用的是8位寻址方式编号从0到7,故他表示的范围是0-255之间变化,硬盘容量大小的计算方法是:512X磁头数X柱面数X每磁道扇区数,每个扇区的大小是512字节,所以最大寻址范围是: (1024 * 255 * 63 * 512/1024/1024)=8.4G 。

目前的电脑主板BIOS普遍采用48位寻址,早已解决了137G硬盘的限制,最近我们机房服务器升级更换批旧服务器,需要把UNIX系统更换到新机器上,机房到了一批新Dell OptiplesGx755 PC,配置有120G硬盘,用作UNIX Server,操作系统为Sco UNIX Open Server 5.0.6。

先按默认参数在其上安装UNIX,安装完毕后发现,进入UNIX后只能找到8G的硬盘空间。因为这批机器是专门配置为在UNIX下工作的,剩下约112G无法利用,硬盘的利用率只有7%,资源浪费极大。我们就开始做实验继续尝试不同的方法解决问题。

二、一组实验结果

为了攻克这一课题,我们用代替法反复实验,在HP,IBM,多款120G硬盘的PC上,采用了不SCO 提供的大容量硬盘安装模式,在biosgeom指定参数安装Sco OpenServer 5.0.6,发现下列情况:

(a)在IBM、HP多款PC上安装UNIX等正常引导,但发安装OS的硬盘,拆到DELL机器上,却不能正常引导,开机显示“NO OS";

(b)在dell pc上安装120G的UNIX,改用大硬盘安装参数时,不能正常引导,开机显示“NO OS”,使用默认方式只能认到8G磁盘空间,浪费极大。所以我认为,Dell Optiplex Gx755 pc 应该可以支持Unix,否则8G的UNIX也不能用。

三、分析原因

根据上述情况,我认为关键问题出在硬盘的主引导扇区(位于整个硬盘的0磁道0柱面1扇区)上,再深入分析一下,硬盘的主引导扇区的组成为主引导记录(1BEH byte)+分区表(40H byte)+结束标志(2H byte)。

UNIX系统的安装程序会把硬盘参数写入主引导记录:第一次安装UNIX时,由于原硬盘上的主引导记录不是UNIX格式,安装程序会想硬盘写入UNIX格式的主引导记录;以后用缺省参数重装UNIX;如果原有主引导记录已经是UNIX格式,则安装程序不再修改主引导记录;如果采用biosgeom指定参数安装,UNIX的安装程序将重写主引导记录。

默认安装UNIX时,安装程序识别硬盘最多有1024个Cylinder,当硬盘实际Cylinder数量小于1024,安装程序在主引导记录写入实际的Cylinder,Head,Sectors数(磁盘大小=cylinders x heads x sectors per track x 512);当大于1024时,安装程序在主引导记录中标记硬盘的cylinder数为1024,连同head,sectors数一起写到

硬盘的主引导记录,这些参数表示硬盘的总容量大小,而UNIX分区大小则在分区表中定义。在UNIX引导时系统显示的Cylinder,Head,Sectors数就是从主引导记录中读取的。Dell P c引导UNIX时,如果主引导记录中的Cylinder数超过1024,将导致BIOS 引导程序无法找到操作系统,而显示“NO OS"。

四、解决方法

现在市面上的硬盘的硬盘控制器内部安装了一个地址翻译器,早已突破了1024柱面的限制,但我们在安装系统的时候还是要注意,一定要在BIOS中将硬盘设置成LBA模式。下面我们解决问题的思路是这样的,可以假设在安装了120G的UNIX的硬盘上,主引导记录换成能正常引导8G的UNIX硬盘的主引导记录,引导系统时,应该可以找到操作系统,只要机器能够引导,UNIX就能够找到的空间由分区表确定。真正有价值的东西不会轻易退出历史的舞台,Debug就是这样的经典作品之一,但到了关键时刻还得请他出马。

操作步骤:

(a)安装一台可以正常引导8G UNIX的Dell Pc;

(b) 做一张DOS引导U盘,要带Debug.exe工具,在BIOS设置第一引导设置为USB-HDD模式(U盘制作启动盘方法参考其他文章)。

(c)在安装8G UNIX的Dell Pc上用软盘引导,进入Debug,提取硬盘的主引导记录,保存在U盘上。

-a 100
CS:0100 mov ax 201
CS:0103 mov bx,200
CS:0106 mov cx,1
CS:0109 mov dx,80
CS:010C int 13
CS:010E int 20
CS:0110
-g=100
-rcx,
:1be
-n A:UBOOT.8G
-w 200
Writing 1be bytes
-q

(d)重新安装UNIX系统,在出现的boot:后面输入defbootstr biosgeom=(15665,255,63)安装过程中,选择把整个硬盘给UNIX系统。上述的15665,255,63分别表示为硬盘的C ylinders数、Heads数、sectors-per-track数,head=255:表示LBA模式。

(e)再次用U盘引导安装了120G UNIX的PC,用步骤三中提取的主引导记录替换现有的主引导记录。

-a 100
CS:0100 mov ax 201
CS:0103 mov bx,200
CS:0106 mov cx,1
CS:0109 mov dx,80
CS:010C int 13
CS:010E int 20
CS:0110
-g=100
-n A:UBOOT.8G
-l 200
CS:0100 mov ax,301
CS:0103
-g=100
q

经过这样处理后,Dell Gx755 pc 能正常引导120G UNIX

五、结束语

(a).系统引导时,显示的柱面数为1024,实验表明,不影响使用;

(b).进入UNIX系统,用df -v命令查看硬盘空间为110G,属于正常现象,硬盘的格式化容量比标称容量小;另外还可以用用dkinit /dev/rhd00(或rhd01)看到系统使用了所有的柱面信息。 这里hd00代表整个物理硬盘hd01代表第一个分区,在UNIX系统里硬盘是字符设备所以文件名以”r”开头。

(c).按这种方法安装UNIX,主引导扇区只要一次提取,可多次使用。是个成熟稳定的解决方案;

(d).另外对于硬盘参数的获取一可以把磁盘拆下来看,还可以直接用工具软件如Diskman 、PowerMax来测出其值。

本文出自 “李晨光原创技术博客” 博客,请务必保留此出处http://chenguang.blog.51cto.com/350944/749771

版权声明:本文为博主原创文章,未经博主允许不得转载。

分享到:
评论

相关推荐

    Unix/linux 挂载 usb 移动硬盘 命令 dvd

    Unix/Linux 挂载 USB 移动硬盘命令 DVD Unix/Linux 操作系统中,挂载(mount)命令是非常重要的,使用该命令可以将各种外部设备连接到系统中,使用户能够访问这些设备中的数据。下面将详细介绍如何在 Unix/Linux ...

    seismic unix的安装教程

    seismic unix 的安装教程 Seismic Unix 是一个功能强大的 seismic 数据处理和分析软件包,它提供了许多有用的工具和命令来处理 seismic 数据。在本教程中,我们将指导您如何安装 Seismic Unix。 安装前准备 在...

    虚拟机安装Unix.zip

    在IT领域,虚拟化技术是不可或缺的一部分,它允许我们在一台物理机器上运行多个独立的操作系统实例,极大地提高了硬件资源的利用率。"虚拟机安装Unix"的主题涵盖了虚拟化技术和Unix操作系统安装两个关键知识点。 ...

    UNIX安装教程详细图解

    "UNIX安装的最低硬件需求.doc"文档会列出CPU、内存、硬盘空间以及网络接口等基本要求。通常,至少需要一个支持多线程的处理器,2GB以上的内存,以及足够的硬盘空间来存放操作系统和应用程序。 2. **获取UNIX发行版*...

    UNIX安装详解及基础命令

    在IT领域,操作系统是计算机硬件与用户之间的重要桥梁。本篇将深入讲解UNIX系统的安装以及基本操作命令,主要聚焦在...掌握这些知识,不仅能够提升你在UNIX系统上的操作技能,也能为解决实际工作中的问题提供有力支持。

    oracle Unix安装指南

    以下是对"Oracle在Unix上的安装指南"的详细说明: 首先,确保硬件和系统环境满足Oracle 8i (r1/r2/r3)的最低要求。这通常包括足够的内存(根据数据库规模可能需要几GB),充足的磁盘空间(至少应为Oracle软件和...

    SEISMIC UNIX 及SEISMIC UNIX 安装实例(Fedora Core Ubuntu 系统 )

    在Fedora Core或Ubuntu等Linux发行版上安装SEISMIC UNIX需要一定的Linux基础。以下是一般的安装流程: 1. **获取软件包**: 首先,你需要下载SEISMIC UNIX的源代码包,例如`cwp_su_all_41R3.tgz`。这个文件包含了...

    informix 安装指南 for unix&linux安装指南 v9.4

    在Unix上,通常使用`mount`命令挂载ISO文件,然后通过终端进行图形化或命令行安装。在Linux上,可以通过`unzip`或`tar`命令解压安装包,再运行安装脚本。 安装时,选择合适的安装类型至关重要。Informix提供了多种...

    Leopard硬盘安装助手0.3

    标题 "Leopard硬盘安装助手0.3" 指的是一个专为苹果Mac OS X Leopard操作系统设计的工具,它的主要功能是帮助用户在硬盘上安装或升级到Leopard系统。Leopard,即Mac OS X 10.5,是苹果在2007年推出的一个操作系统...

    unix图解安装教程

    unix图解安装教程

    Oracle大型数据库系统在AIXUNIX上的实战详解.part1

    《Oracle大型数据库系统在AIX/UNIX上的实战详解》并未刻意进行学术上的高、精、尖探索,而是力争将复杂的事情简单化,把各技术要点以最简单的方式予以说明,以大家能了解的方式予以解决! 编辑推荐 《Oracle大型...

    IBM 安装SCO Unix507

    在本文中,我们将深入探讨如何在IBM BladeCenter HS20服务器上安装SCO Unix 5.0.7操作系统。首先,我们需要了解所涉及的关键组件和前提条件。 **一、应用环境和准备工作** IBM BladeCenter HS20服务器是一款高性能...

    Oracle大型数据库系统在AIX UNIX上的实战详解.pdf

    内容简介 ...《Oracle大型数据库系统在AIX/UNIX上的实战详解》并未刻意进行学术上的高、精、尖探索,而是力争将复杂的事情简单化,把各技术要点以最简单的方式予以说明,以大家能了解的方式予以解决!

    os.rar_linux 硬盘_unix 文件系统_模拟UNIX文件系统_简单 文件系统 实现_索引 文件系统

    在现有机器硬盘上开辟20M的硬盘空间,作为设定的硬盘空间。 2.编写一管理程序对此空间进行管理,以模拟UNIX(linux)文件系统,具体要求如下: (1) 要求盘块大小1k (2) i 结点文件类型 正规文件目录文件(共1...

    dos2unix安装包附安装说明书.zip

    在Linux系统中,dos2unix工具是一个非常实用的命令行程序,用于将文本文件的格式从DOS/Windows风格转换为UNIX/Linux风格。这个转换主要包括行尾符的更改,DOS文件通常使用CRLF(回车换行)作为行结束符,而UNIX/...

    黑苹果必备 mac硬盘安装助手

    "黑苹果必备 mac硬盘安装助手"是一款专门为安装黑苹果(非官方Apple硬件上运行的macOS)设计的工具。这个工具的主要功能是将macOS的系统镜像有效地写入到硬盘上,以便用户可以通过特定的引导加载器如CLOVER或变色龙...

    在UNIX系统下安装MySQL

    在UNIX系统下安装MySQL是一项关键技能,尤其对于那些在服务器端进行数据库管理和开发的专业人士而言。下面我们将深入探讨这一过程中的各个步骤,以及在UNIX环境下配置MySQL的一些重要注意事项。 ### 安装准备 首先...

    在unix上安装oracle10g

    在Unix系统上安装Oracle ...以上步骤概括了Unix上安装Oracle 10g的基本流程,但实际操作中可能需要根据特定环境进行调整。在处理复杂的数据库系统时,理解每个步骤的细节至关重要,以确保成功安装并优化Oracle数据库。

    在同一硬盘上实现Windows,unix,Linux的共存.pdf

    标题中的内容描述了一种技术,即在同一块硬盘上安装并实现Windows、Unix和Linux操作系统共存的方法。这种技术对于需要在不同系统之间切换的用户,尤其是开发者和系统管理员,非常有用。以下是对这一主题的详细解释:...

Global site tag (gtag.js) - Google Analytics