2015-05-19 15:26:01 u014077165 阅读数 5655
  • U3 精通U盘分区与启动

    本课程是《掌握U盘分区与启动》课程的后续,让学员能够在前述课程的基础上,自由制作可用于Linux系统的启动U盘。 通过课程以及实际操作,学员可以了解: 怎么实现Linux系统的启动? 怎么实现Windows与Linux多系统的启动? 多分区的原理是什么? GRUB4DOS的命令行如何使用? 交流QQ群:374630370

    1944 人正在学习 去看看 孙宇彤
       在学习 Linux 的过程中,安装 Linux 是每一个初学者的第一个门槛。在这个过程中间,最大的困惑莫过于给硬盘进行分区。虽然,现在各种发行版本的 Linux 已经提供了友好的图形交互界面,但是很多的人还是感觉无从下手。这其中的原因主要是不清楚 Linux 的分区规定,以及它下面最有效的分区工具― Fdisk 的使用方法。

       首先我们要对硬盘分区的基本概念进行一些初步的了解,硬盘的分区主要分为基本分区(primary partion)和扩充分区(extension partion)两种基本分区和扩充分区的数目之和不能大于四个。且基本分区可以马上被使用但不能再分区。扩充分区必须再进行分区后才能使用,也就是说它必须还要进行二次分区。那么由扩充分区再分下去的是什么呢?它就是逻辑分区(logical partion),况且逻辑分区没有数量上限制。

       对习惯于使用dos或windows的用户来说,有几个分区就有几个驱动器,并且每个分区都会获得一个字母标识符,然后就可以选用这个字母来指定在 这个分区上的文件和目录,它们的文件结构都是独立的,非常好理解。但对这些初上手 red hat linux的用户,可就有点恼人了。因为对red hat linux用户来说无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构。red hat linux中每个分区都是用来组成整个文件系统的一部分,因为它采用了一种叫“载入”的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个 分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得。

       对windows用户来说,操作系统必须装在同一分区里,它是商业软件! 所以你没有选择的余地!对red hat linux来说,你有了较大的选择余地,你可以把系统文件分几个区来装(必须要说明载入点),也可以就装在同一个分区中(载入点是“/”)。

下面从这两个方面入手,来讲解这个困扰大家的问题。

Linux 的分区规定

1. 设备管理  

       在 Linux 中,每一个硬件设备都映射到一个系统的文件,对于硬盘、光驱等 IDE 或 SCSI 设备也不例外。Linux 把各种 IDE 设备分配了一个由 hd 前缀组成的文件;而对于各种 SCSI 设备,则分配了一个由 sd 前缀组成的文件。

       对于ide硬盘,驱动器标识符为“hdx~”,其中“hd”表明分区所在设备的类型,这里是指ide硬盘了。“x”为盘号(a为基本盘,b为基本从 属盘,c为辅助主盘,d为辅助从属盘),“~”代表分区,前四个分区用数字1到4表示,它们是主分区或扩展分区,从5开始就是逻辑分区。例,hda3表示 为第一个ide硬盘上的第三个主分区或扩展分区,hdb2表示为第二个ide硬盘上的第二个主分区或扩展分区。对于scsi硬盘则标识为 “sdx~”,scsi硬盘是用“sd”来表示分区所在设备的类型的,其余则和ide硬盘的表示方法一样,不在多说。

       例如,第一个 IDE 设备,Linux 就定义为 hda;第二个 IDE 设备就定义为 hdb;下面以此类推。而 SCSI 设备就应该是 sda、sdb、sdc 等。

2. 分区数量   

       要进行分区就必须针对每一个硬件设备进行操作,这就有可能是一块IDE硬盘或是一块SCSI硬盘。对于每一个硬盘(IDE 或 SCSI)设备,Linux 分配了一个 1 到 16 的序列号码,这就代表了这块硬盘上面的分区号码。
  例如,第一个 IDE 硬盘的第一个分区,在 Linux 下面映射的就是 hda1,第二个分区就称作是 hda2。对于 SCSI 硬盘则是 sda1、sdb1 等。

3. 各分区的作用    

       在 Linux 中规定,每一个硬盘设备最多能有 4个主分区(其中包含扩展分区)构成,任何一个扩展分区都要占用一个主分区号码,也就是在一个硬盘中,主分区和扩展分区一共最多是 4 个。
  对于早期的 DOS 和 Windows(Windows 2000 以前的版本),系统只承认一个主分区,可以通过在扩展分区上增加逻辑盘符(逻辑分区)的方法,进一步地细化分区。

       主分区的作用就是计算机用来进行启动操作系统的,因此每一个操作系统的启动,或者称作是引导程序,都应该存放在主分区上。

       这就是主分区和扩展分区及逻辑分区的最大区别。  

       我们在指定安装引导 Linux 的 bootloader 的时候,都要指定在主分区上,就是最好的例证。Linux 规定了主分区(或者扩展分区)占用 1 至 16 号码中的前 4 个号码。以第一个 IDE 硬盘为例说明,主分区(或者扩展分区)占用了 hda1、hda2、hda3、hda4,而逻辑分区占用了 hda5 到 hda16 等 12 个号码。因此,Linux 下面每一个硬盘总共最多有 16 个分区。对于逻辑分区,Linux 规定它们必须建立在扩展分区上(在 DOS 和 Windows 系统上也是如此规定),而不是主分区上。
  因此,我们可以看到扩展分区能够提供更加灵活的分区模式,但不能用来作为 操作系统 的引导。 除去上面这些各种分区的差别,我们就可以简单地把它们一视同仁了。

4. 分区指标  

       对于每一个 Linux 分区来讲,分区的大小和分区的类型是最主要的指标。容量的大小读者很容易理解,但是分区的类型就不是那么容易接受了。分区的类型规定了这个分区上面的文件系统的格式。
  Linux 支持多种的文件系统格式,其中包含了我们熟悉的FAT32、FAT16、NTFS、HP-UX,以及各种 Linux 特有的 Linux Native和 Linux Swap分区类型。
  在 Linux 系统中,可以通过分区类型号码来区别这些不同类型的分区。各种类型号码在介绍Fdisk的使用方式的时候将会介绍。

5  常用分区

/boot分区,它包含了操作系统的内核和在启动系统过程中所要用到的文件,建这个 分区是有必要的,因为目前大多数的pc机要受到bios的限制,况且如果有了一个单独的/boot启动分区,即使主要的根分区出现了问题,计算机依然能够 启动。这个分区的大小约在50mb—100mb之间。但是如果想用lilo启动red hat linux系统的话,含有/boot的分区必须完全在柱面1023以下。又由于8gb后的数据lilo不能读取,所以red hat linux要安装在8gb的区域以内。

/usr分区,是red hat linux系统存放软件的地方,如有可能应将最大空间分给它。

/home分区,是用户的home目录所在地,这个分区的大小取决于有多少用户。如 果是多用户共同使用一台电脑的话,这个分区是完全有必要的,况且根用户也可以很好地控制普通用户使用计算机,如对用户或者用户组实行硬盘限量使用,限制普 通用户访问哪些文件等。其实单用户也有建立这个分区的必要,因为没这个分区的话,那么你只能以根用户的身份登陆系统,这样做是危险的,因为根用户对系统有 绝对的使用权,可一旦你对系统进行了误操作,麻烦也就来了。

/var/log分区,是系统日志记录分区,如果设立了这一单独的分区,这样即使系统的日志文件出现了问题,它们也不会影响到操作系统的主分区。

/tmp分区,用来存放临时文件。这对于多用户系统或者网络服务器来说是有必要的。 这样即使程序运行时生成大量的临时文件,或者用户对系统进行了错误的操作,文件系统的其它部分仍然是安全的。因为文件系统的这一部分仍然还承受着读写操 作,所以它通常会比其它的部分更快地发生问题。

/bin分区,存放标准系统实用程序。

/dev分区,存放设备文件。

/opt分区,存放可选的安装的软件。

/sbin分区,存放标准系统管理文件。

        上面介绍了几个常用的分区,一般来说我们需要一个swap分区,一个/boot分区,一个/usr分区,一个/home 分区,一个/var/log分区。当然这没有什么规定,完全是依照你个人来定的。但记住至少要有两个分区,一个swap分区,一个/分区。


Fdisk 使用详解

       下面通过介绍 Fdisk 的使用方法,来巩固上面所学到的各种关于 Linux 分区的知识。Fdisk 是各种 Linux 发行版本中最常用的分区工具,是被定义为 Expert 级别的分区工具,它让初学者有点望而却步。

1. Fdisk 参数说明
        运行Fdisk的时候,首先映入眼帘的是欢迎界面,用户通过在这个界面中输入命令参数来操作Fdisk。用户通过提示键入 “m”,可以显示 Fdisk 命令各个参数的说明。 读者可以看到 Fdisk 有很多参数,可是经常使用的就是几个,如果读者熟练掌握这几个参数就可以流畅地运用 Fdisk,对 Linux 的硬盘进行分区。我们先简单介绍各个参数的意义,然后详细说明几个重点参数。用户在 Linux 中进行分区的时候,最常用的参数分别是 d、l、m、n、p、q、t、w 等。

2.用 Fdisk 进行分区

       在 Linux 分区过程,一般是先通过 p 参数来显示出硬盘分区表信息,然后根据信息确定将来的分区如果想完全改变硬盘的分区格式,就可以通过 d 参数一个个删除存在的硬盘分区。

       例如 d1,d2。 删除完毕,就可以通过 n 参数来增加新的分区。当按下 “n” 后,我们就可以看到新增的分区。这里要选择新建的分区类型,是主分区还是扩展分区;

       然后选择 p 或是 e。它们的区别在上文中已经说明。然后就是设置分区的大小。需要提醒注意的是,如果硬盘上有扩展分区,就只能增加逻辑分区,不能增加扩展分区了,在增加分 区的时候,其类型都是默认的 Linux Native,如果需要把其中的某些分区改变为其它类型,例如 Linux Swap 或 FAT32 等,可以通过命令 t 来改变, 当按下 “t” 改变分区类型的时候,系统会提示要改变哪个分区,并且改变为什么类型(如果想知道系统所支持的分区类型,键入 l)。Linux 所支持的分区类型号码和其对应的分区类型,可以参考表 2(这些信息可以用 l 命令得到)。改变完了分区类型,就可以按下 “w”,保存并且退出。如果不想保存,那么可以选择 “q” 直接退出。

        fdisk 是一款强大的磁盘操作工具,来自util-linux软件包,我们在这里只说他如何查看磁盘分区表及分区结构;参数 -l ,通过-l 参数,能获得机器中所有磁盘的个数,也能列出所有磁盘分区情况;

[root@localhost beinan]# fdisk -l
Disk /dev/hda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1         765     6144831    7  HPFS/NTFS
/dev/hda2             766        2805    16386300    c  W95 FAT32 (LBA)
/dev/hda3            2806        7751    39728745    5  Extended
/dev/hda5            2806        3825     8193118+  83  Linux
/dev/hda6            3826        5100    10241406   83  Linux
/dev/hda7            5101        5198      787153+  82  Linux swap / Solaris
/dev/hda8            5199        6657    11719386   83  Linux
/dev/hda9            6658        7751     8787523+  83  Linux

       在上面Blocks中,表示的是分区的大小,Blocks的单位是byte ,我们可以换算成M,比如第一个分区/dev/hda1的大小如果换算成M,应该是6144831/1024=6000M,也就是6G左右,其实没有这么 麻烦,粗略的看一下把小数点向前移动三位,就知道大约的体积有多大了;
       System 表示的文件系统,比如/dev/hda1 是NTFS格式的;/dev/hda2 表示是fat32格式的文件系统;.

       在此例中,我们要特别注意的是/dev/hda3分区,这是扩展分区;他下面包含着逻辑分区,其实这个分区相当于一个容器;从属于她的有 hda5,hda6,hda7,hda8,hda9 ;

       我们还注意到一点,怎么没有hda4呢?为什么hda4没有包含在扩展分区?一个磁盘最多有四个主分区; hda1-4算都是主分区;hda4不可能包含在扩展分区里,另外扩展分区也算主分区;在本例中,没有hda4这个分区,当然我们可以把其中的一个分区设 置为主分区,只是我当时分区的时候没有这么做而已;

       再仔细统计一下,我们看一看这个磁盘是不是还有空间?hda1+hda2+hda3=实际已经分区的体积,所以我们可以这样算 hda1+hda2+hda3=6144831+16386300+39728745 = 62259876 (b),换算成M单位,小数点向前移三位,所以目前已经划分好的分区大约占用体积是62259.876(M),其实最精确的计算 62259876/1024=60800.67(M);而这个磁盘大小是80.0 GB (80026361856byte),其实实际大小也就是78150.744(M);通过我们一系列的计算,我们可以得出这个硬盘目前还有使用的空间;大 约还有18G未分区的空间;

我们也可以指定fdisk -l 来查看其中一个硬盘的分区情况;

[root@localhost beinan]# fdisk -l /dev/sda

Disk /dev/sda: 60.0 GB, 60011642880 bytes
64 heads, 32 sectors/track, 57231 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1       57231    58604528   83  Linux

通过上面情况可以知道,在/dev/sda 这个磁盘中,只有一个分区;使用量差不多是百分百了;

我们还可以来查看 /dev/hda的

[root@localhost beinan]# fdisk -l /dev/hda

自己试试看?

我们也可以通过: cat /proc/partitions查看目前机器中的所有磁盘及分区情况

 

df 命令;
df 是来自coreutils 软件包,系统安装时,就自带的;我们通过这个命令可以查看磁盘的使用情况以及文件系统被挂载的位置;

举例:

[root@localhost beinan]# df -lh

Filesystem            容量  已用 可用 已用% 挂载点

/dev/hda8              11G  6.0G  4.4G  58% /

/dev/shm              236M     0  236M   0% /dev/shm

/dev/sda1              56G   22G   35G  39% /mnt/sda1

我们从中可以看到,系统安装在/dev/hda8 ;还有一个56G的磁盘分区/dev/sda1挂载在 /mnt/sda1中;

其它的参数请参考 man df






2019-06-12 20:10:41 weixin_42350212 阅读数 1094
  • U3 精通U盘分区与启动

    本课程是《掌握U盘分区与启动》课程的后续,让学员能够在前述课程的基础上,自由制作可用于Linux系统的启动U盘。 通过课程以及实际操作,学员可以了解: 怎么实现Linux系统的启动? 怎么实现Windows与Linux多系统的启动? 多分区的原理是什么? GRUB4DOS的命令行如何使用? 交流QQ群:374630370

    1944 人正在学习 去看看 孙宇彤

       系统安装完之后,boot分区最好做一个备份,因为这个分区 我们基本不会动它,所以备份一次一劳永逸,以防万一。当如果我们不小心 误删除了这个目录,也不用慌,正因为这个分区,我们除了开机 其他时候基本用不到,所以恢复起来还是很容易的。而且恢复之后,我们操作系统里的其他服务基本没有影响,我们看一下,如果误删除了/boot,该如何恢复:

由于/boot分区一般就是用于存放镜像和相关启动引导文件,所以误删之后,恢复并不影响系统其他服务的正常运行;但是误删之后 系统启动不了了,因为 grub.conf文件在 /boot/grub/中 也被删除了。

所以解决问题思路:使用原系统安装镜像进入 救援模式,将boot分区的内核相关文件 重新导入系统,然后重新编写grub.conf配置文件。重新启动即可

/boot误删之后,重新系统进入grub界面

将系统的原版安装镜像连接上,相当于在实体机上 将镜像盘 插入机器中

启动时选择BIOS设置,使用光盘启动进入救援模式

 

然后,设置启动顺序,设置系统从光盘启动

使用救援模式 启动

使用chroot /mnt/sysimage 切换到自己的系统下。

先切换到系统中:chroot /mnt/sysimage/

然后进行挂载光盘,mount /dev/sr0 /mnt

cp /mnt/images/pxeboot/vmlinuz /boot/   # 将光盘文件中的内核文件复制到/boot分区

或者:

使用rpm -ivh /mnt/Packages/kernel-2.6.32-432.e16.x86_64.rpm --root=/mnt/sysimage/ --force 安装kernel内核

安装完内核后,重启进入BIOS从硬盘启动进入grub界面

此时 我们需要找出boot分区 和 根分区:

grub>root  (hd0,)  #此时两次TAB键看到如下截图

此时,我们看到 系统有三个分区:(hd0,0) 即/dev/sda1 、(hd0,1) 即/dev/sda2 、(hd0,2) 即/dev/sda3,将关系捋清楚

grub>root  (hd0,0)/     #使用TAB看到如下截图 #(hd0,0) 就是/dev/sda1

vmliuz  grub initramfs信息说明是/boot分区。

grub>root  (hd0,1)/   #使用TAB键看到如下信息 Possible files are: lost+found boot dev proc sys var tmp etc root selinux lib64 usr bin home lib media mnt opt sbin srv .autorelabel   说明是根目录咯。一定要记录此分区时/dev/sda2

grub>root (hd0,0)    #绑定启动分区

grub>kernel /vmliuz ro root=/dev/sda2   #启动内核为只读模式,注意root是根分区 grub>initrd /initramfs.img #内核映射

grub>boot             #启动系统,开始恢复grub.conf文件

 

注意    加载内核时一定要注意root的路径要正确,否则执行boot启动时,会报错,给的root根分区不对,从而无法进入系统。

进入系统之后,我们编辑一下系统的/boot/grub/grub.conf配置文件。

default=0 #表示如果该配置文件中 有多个系统内核时,将默认选择第一个;

timeout=5 #表示进入系统前,我们有5秒时间 选择使用哪一个内核启动

下面就是罗列出 所有的系统内核 及路径等等。

 

2013-04-15 20:46:06 tyegong 阅读数 323
  • U3 精通U盘分区与启动

    本课程是《掌握U盘分区与启动》课程的后续,让学员能够在前述课程的基础上,自由制作可用于Linux系统的启动U盘。 通过课程以及实际操作,学员可以了解: 怎么实现Linux系统的启动? 怎么实现Windows与Linux多系统的启动? 多分区的原理是什么? GRUB4DOS的命令行如何使用? 交流QQ群:374630370

    1944 人正在学习 去看看 孙宇彤

1、什么是分区?
    分区是将一个硬盘驱动器分成若干个逻辑驱动器,分区是把硬盘连续的区块当做一个独立的磁硬使用。分区表是一个硬盘分区的索引,分区的信息都会写进分区表。
2、为什么要有多个分区?

  • 防止数据丢失:如果系统只有一个分区,那么这个分区损坏,用户将会丢失所的有数据。
  • 增加磁盘空间使用效率:可以用不同的区块大小来格式化分区,如果有很多1K的文件,而硬盘分区区块大小为4K,那么每存储一个文件将会浪费3K空间。这时我们需要取这些文件大小的平均值进行区块大小的划分。
  • 数据激增到极限不会引起系统挂起:将用户数据和系统数据分开,可以避免用户数据填满整个硬盘,引起的系挂起。

3、分区工具fdisk用法介绍
   fdisk命令参数介绍
   p、打印分区表。
   n、新建一个新分区。
   d、删除一个分区。
   q、退出不保存。
   w、把分区写进分区表,保存并退出。
实例:
   [root@localhost ~]# fdisk /dev/hdd   

   按"p"键打印分区表

   这块硬磁尚未分区
   按"n"键新建一个分区。

  出现两个菜单e表示扩展分区,p表示主分区
  按"p"键出现提示:"Partition number (1-4): "选择主分区号
  输入"1"表示第一个主分区。

   直接按回车表示1柱面开始分区。

   提示最后一个柱面或大小。
   输入+5620M 按回车
   表示第一个分区为5G空间。
   按"p"查看一下分区



这样一个主分区就分好了。
接下来分第二个主分区,把剩余空间都给第二个主分区。
按"n"
键新增一个分区
按"p"键设为主分区
输入"2"把主分区编号设为2
按两下回车把剩余空间分给第二个主分区。
按"p"键打印分区表


按"w"键保存退出。 
读者可根据自己的硬盘大小来划分合适的分区。

4、使用分区
   在使用硬盘之前必须对其分区进行格式化,并挂载。
   [root@localhost ~]#mkfs.ext3 /dev/hdd1
   [root@localhost ~]#mkfs.ext3 /dev/hdd2
   创建挂载目录
   [root@localhost ~]#mkdir /hdd1 /hdd2
   挂载/dev/hdd1 /dev/hdd2
   [root@localhost ~]#mount /dev/hdd1 /hdd1
   [root@localhost ~]#mount /dev/hdd2 /hdd2
   查看
   [root@localhost ~]#df -h
   Filesystem            Size  Used Avail Use% Mounted on
   /dev/hda3             7.5G  2.8G  4.3G  40% /
   /dev/hda1              99M   17M   78M  18% /boot
   tmpfs                  62M     0   62M   0% /dev/shm
   /dev/hdd1             2.5G   68M  2.3G   3% /hdd1
   /dev/hdd2             2.5G   68M  2.3G   3% /hdd2

现在往/hdd1目录写数据就存储到/dev/hdd这块硬盘了。


 


2019-12-14 20:07:12 qq_39341113 阅读数 16
  • U3 精通U盘分区与启动

    本课程是《掌握U盘分区与启动》课程的后续,让学员能够在前述课程的基础上,自由制作可用于Linux系统的启动U盘。 通过课程以及实际操作,学员可以了解: 怎么实现Linux系统的启动? 怎么实现Windows与Linux多系统的启动? 多分区的原理是什么? GRUB4DOS的命令行如何使用? 交流QQ群:374630370

    1944 人正在学习 去看看 孙宇彤

Linux磁盘的分区和格式化

什么是分区?
分区是将一个硬盘驱动器分成若干个逻辑驱动器,分区是把硬盘连续的区块当做一个独立的磁硬使用。分区表是一个硬盘分区的索引,分区的信息都会写进分区表。

为什么要有多个分区?

  • 防止数据丢失:如果系统只有一个分区,那么这个分区损坏,用户将会丢失所的有数据。
  • 增加磁盘空间使用效率:可以用不同的区块大小来格式化分区,如果有很多1K的文件,而硬盘分区区块大小为4K,那么每存储一个文件将会浪费3K空间。这时我们需要取这些文件大小的平均值进行区块大小的划分。
  • 数据激增到极限不会引起系统挂起:将用户数据和系统数据分开,可以避免用户数据填满整个硬盘,引起的系挂起

##fdisk分区工具
fdisk是Linux系统下常用的分区工具,但fdisk只能划分小于2TB的分区

fdisk是用来磁盘分区的程序,它采用传统的问答界面,而非类似DOS fdisk的cfdisk互动式操作界面,因此在使用上较为不便,但功能却丝毫不打折扣
##fdisk语法

功能说明:磁盘分区
语法:

fdisk [选项] [设备]

选项和参数

  • -b<分区大小>:指定每个分区的大小
  • -l:列出指定的外围设备的分区表状况
  • -s<分区编号>:将指定的分区大小输出到标准输出上,单位为区块
  • -u:搭配-l参数列表,会用分区数目取代柱面数目,来表示每个分区的起始地址
  • -C<柱面数>:指定柱面数
  • -H<磁盘数>:指定磁头数
  • -S<扇区数>:指定磁盘每磁道的扇区数
  • -v:显示版本信息

菜单操作说明

  • m :显示菜单和帮助信息
  • a :设置磁盘启动分区
  • d :删除磁盘分区
  • l :显示磁盘分区类型
  • n :新建磁盘分区
  • p :显示磁盘分区信息
  • q :退出fdisk,不保存磁盘分区设置
  • t :转换分区类型
  • v :进行磁盘分区检查
  • w :保存修改
  • x :扩展应用,高级功能

###磁盘分区实例

进入fdisk,列出所有子命令


[root@localhost dev]# fdisk /dev/sda
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


命令(输入 m 获取帮助):m
命令操作
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   g   create a new empty GPT partition table
   G   create an IRIX (SGI) partition table
   l   list known partition types
   m   print this menu
   n   add a new partition
   o   create a new empty DOS partition table
   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)

####显示磁盘分区信息


命令(输入 m 获取帮助):p

磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0000d528

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200    41943039    19921920   8e  Linux LVM

这里显示的硬盘容量是以1KB=1000B为换算单位,而不是以1024B为换算单位,所以我们规划的20Gib硬盘容量在这里显示21.5 GB
1KB=1000Byte 1MB=1000KB 1GB=1000MB 1TB=1000GB
1KiB=1024Byte 1MiB=1024KiB 1GiB=1024MiB 1TiB=1024GiB

磁盘分区的表示方法如下
设备:磁盘分区设备名
Boot:表示引导分区,如果是引导分区则显示*,否则什么也不显示
Start:表示一个磁盘分区的开始扇区
End:表示一个磁盘分区的结束扇区
Blocks:表示分区容量,单位是块,默认一个块是1KB,一个分区容量的值是由Blocks=(End-Start)*扇区大小公式计算而来
Id:一个两位的十六进制数,表示分区类型
System:Id所定义的分区类型

####创建分区
磁盘的分区由主分区、扩展分区、逻辑分区组成

  • 主分区:主分区的主要存放操作系统的启动和引导程序
  • 扩展分区:扩展分区是逻辑分区的容器,逻辑分区必须建立在扩展分区上,扩展分区上是不能存放数据的,只能存放逻辑分区;扩展分区的容量=各个逻辑分区的容量之和
  • 逻辑分区:对于逻辑分区,Linux规定它们必须建立在扩展分区上,而不是建立在主分区上

数量关系
一个硬盘主分区至少有1个,最多4个,扩展分区可以没有,但扩展分区最多1个。且主分区+扩展分区总共不能超过4个。逻辑分区可以有若干个
在一块硬盘上,主分区和扩展分区最多有4个,占据分区范围1-4;逻辑分区从5开始。

数据存放位置
能存放数据的分区只有主分区和逻辑分区,但建议主分区仅仅存放操作系统的启动和引导程序,其它数据建议存储到逻辑分区中

容量
硬盘的容量=主分区的容量+扩展分区的容量
扩展分区的容量=各个逻辑分区的容量之和


创建分区时需要指定分区类型

  • 主分区:P
  • 扩展分区:e
  • 逻辑分区:l:该选项只有在拥有扩展分区之后才显示,因为逻辑分区必须建立在扩展分区上,而不是建立在主分区上

在创建磁盘分区时,需要指定结束扇区

  • n:使用结束扇区,n代表数字
  • +n:在开始扇区的基础上,加上n个扇区,n表示数字
  • -nM:在开始扇区的基础上,加上nMB容量,n代表数字。可以使用单位K、M、G
  • 回车键:使用默认的扇区,也就是这个分区的结束扇区就是最后一个扇区

####创建主分区

选择磁盘


[root@localhost dev]# fdisk /dev/sda
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


命令(输入 m 获取帮助)

创建主分区

命令(输入 m 获取帮助):n	#使用n命令创建磁盘分区
Partition type:
   p   primary (0 primary, 0 extended, 4 free)	#主分区
   e   extended	#扩展分区
Select (default p): p	#选择创建主分区
分区号 (1-4,默认 1):1	#选择分区号
起始 扇区 (2048-20971519,默认为 2048):2048 	#起始扇区位置
Last 扇区, +扇区 or +size{K,M,G} (2048-20971519,默认为 20971519):+1G 	#终止扇区位置
分区 1 已设置为 Linux 类型,大小设为 1 GiB

保存修改

命令(输入 m 获取帮助):w 	#使用w命令保存修改
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。

####创建扩展分区
选择磁盘


[root@localhost dev]# fdisk /dev/sda
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


命令(输入 m 获取帮助)

创建扩展分区

命令(输入 m 获取帮助):n	#使用n命令创建磁盘分区
Partition type:
   p   primary (1 primary, 0 extended, 3 free)	#主分区
   e   extended	#扩展分区
Select (default p): e	#选择创建扩展分区
分区号 (2-4,默认 2):2	#选择分区号
起始 扇区 (2099200-20971519,默认为 2099200):2099200	#起始扇区位置
Last 扇区, +扇区 or +size{K,M,G} (2099200-20971519,默认为 20971519):+1G	#终止扇区位置
分区 2 已设置为 Extended 类型,大小设为 1 GiB

保存修改

命令(输入 m 获取帮助):w 	#使用w命令保存修改
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。

####创建逻辑分区
只有创建了扩展分区才能创建逻辑分区,因为逻辑分区必须存放在扩展分区上,不能存放在主分区上
选择磁盘


[root@localhost dev]# fdisk /dev/sda
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


命令(输入 m 获取帮助)

创建逻辑分区
可以使用n命令创建磁盘分区


命令(输入 m 获取帮助):n
Partition type:
   p   primary (1 primary, 1 extended, 2 free)	#主分区
   l   logical (numbered from 5)	#逻辑分区,该选项只有拥有扩展分区的情况下才显示
Select (default p): l	#选择创建逻辑分区
添加逻辑分区 5		#选择分区号
起始 扇区 (2101248-4196351,默认为 2101248)#起始扇区位置
将使用默认值 2101248
Last 扇区, +扇区 or +size{K,M,G} (2101248-4196351,默认为 4196351)#终止扇区位置
将使用默认值 4196351
分区 5 已设置为 Linux 类型,大小设为 1023 MiB

保存修改

命令(输入 m 获取帮助):w	#使用w命令保存修改
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。

删除磁盘分区

选择磁盘


[root@localhost dev]# fdisk /dev/sda
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


命令(输入 m 获取帮助)

删除磁盘分区
可以使用d命令删除磁盘分区

命令(输入 m 获取帮助):d	#使用d命令删除磁盘分区
分区号 (1,2,默认 2):2	#要删除的分区号
分区 2 已删除

保存修改

命令(输入 m 获取帮助):w	#使用w命令保存修改
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。

####查看磁盘分区类型
选择磁盘


[root@localhost dev]# fdisk /dev/sda
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


命令(输入 m 获取帮助)

查看磁盘分区类型
可以使用l命令查看磁盘分区类型

命令(输入 m 获取帮助):l	#使用l命令查看磁盘分区类型

 0  空              24  NEC DOS         81  Minix / 旧 Linu bf  Solaris
 1  FAT12           27  隐藏的 NTFS Win 82  Linux 交换 / So c1  DRDOS/sec (FAT-
 2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-
 3  XENIX usr       3c  PartitionMagic  84  OS/2 隐藏的 C:  c6  DRDOS/sec (FAT-
 4  FAT16 <32M      40  Venix 80286     85  Linux 扩展      c7  Syrinx
 5  扩展            41  PPC PReP Boot   86  NTFS 卷集       da  非文件系统数据
 6  FAT16           42  SFS             87  NTFS 卷集       db  CP/M / CTOS / .
 7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux 纯文本    de  Dell 工具
 8  AIX             4e  QNX4.x 第2部分  8e  Linux LVM       df  BootIt
 9  AIX 可启动      4f  QNX4.x 第3部分  93  Amoeba          e1  DOS 访问
 a  OS/2 启动管理器 50  OnTrack DM      94  Amoeba BBT      e3  DOS R/O
 b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          e4  SpeedStor
 c  W95 FAT32 (LBA) 52  CP/M            a0  IBM Thinkpad 休 eb  BeOS fs
 e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         ee  GPT
 f  W95 扩展 (LBA)  54  OnTrackDM6      a6  OpenBSD         ef  EFI (FAT-12/16/
10  OPUS            55  EZ-Drive        a7  NeXTSTEP        f0  Linux/PA-RISC
11  隐藏的 FAT12    56  Golden Bow      a8  Darwin UFS      f1  SpeedStor
12  Compaq 诊断     5c  Priam Edisk     a9  NetBSD          f4  SpeedStor
14  隐藏的 FAT16 <3 61  SpeedStor       ab  Darwin 启动     f2  DOS 次要
16  隐藏的 FAT16    63  GNU HURD or Sys af  HFS / HFS+      fb  VMware VMFS
17  隐藏的 HPFS/NTF 64  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE
18  AST 智能睡眠    65  Novell Netware  b8  BSDI swap       fd  Linux raid 自动
1b  隐藏的 W95 FAT3 70  DiskSecure 多启 bb  Boot Wizard 隐  fe  LANstep
1c  隐藏的 W95 FAT3 75  PC/IX           be  Solaris 启动    ff  BBT
1e  隐藏的 W95 FAT1 80  旧 Minix

####转换分区类型
选择磁盘


[root@localhost dev]# fdisk /dev/sda
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


命令(输入 m 获取帮助)

转换分区类型
可以使用t命令转换分区类型

命令(输入 m 获取帮助):t	#使用t命令转换分区类型
分区号 (1,2,5,默认 5):5	#选择要转换的分区号
Hex 代码(输入 L 列出所有代码):8e	#选择分区类型
已将分区“Linux”的类型更改为“Linux LVM”

保存修改

命令(输入 m 获取帮助):w	#使用w命令保存修改
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。
2019-01-27 20:26:03 asahinokawa 阅读数 825
  • U3 精通U盘分区与启动

    本课程是《掌握U盘分区与启动》课程的后续,让学员能够在前述课程的基础上,自由制作可用于Linux系统的启动U盘。 通过课程以及实际操作,学员可以了解: 怎么实现Linux系统的启动? 怎么实现Windows与Linux多系统的启动? 多分区的原理是什么? GRUB4DOS的命令行如何使用? 交流QQ群:374630370

    1944 人正在学习 去看看 孙宇彤

WARNINGS:

这个操作,在一定程度上可行,毕竟我已经成功做到了。但是这个操作有一定的风险,请慎重!没有图,因为过去的时间比较久了,但大体流程是正确的。

问题引入

Linux磁盘分区大致如下表所示,因为当前分区A的容量大于(/的实际容量 + /home的实际容量),所以想把/home挂载的分区B取消,空闲出分区B的容量挪作他用,然后让/home使用/的容量,并且保证home分区数据不丢失。

挂载点 分区
/ 分区A
/home 分区B

解决过程

如果你要按照我的操作去做,请确保你了解你的每一步操作会产生什么效果!

  1. 最重要的部分:使用rsync备份好home分区的数据到某个不会丢失的地方。使用这个命令时,注意权限,权限在这里如果不恰当的话,会引发不太必要的问题。
  2. 接着,在/etc/fstab文件里面注释掉/home的挂载信息,保存。这里使用注释,是为了给自己后悔药吃。
    此时,如果重启,一定是登录不进去桌面的。重启之后,默认从/分区找家目录,找不到,所以会在登录器里面,输入密码后,进入不了系统界面。
  3. 重启。
    正如预期,进入了桌面。这个时候我们使用tty1-5,打开类似于黑窗口的界面,进行登录,然后在home分区下,创建属于我们的目录,注意权限
  4. 再次使用rsync,将备份的数据,还原到home分区下。
  5. 最后,切换到登录器,输入密码,成功进入,并且数据未丢失。并且分区B可以挪作他用了。

后记

这个操作,在一定程度上可行,毕竟我已经成功做到了。但是这个操作有一定的风险,请慎重!
没有图,因为过去的时间比较久了,但大体流程是正确的。

参考:
https://www.cnblogs.com/saszhuqing/p/8716644.html

没有更多推荐了,返回首页