2019-02-17 17:30:22 hmxz2nn 阅读数 91
  • U3 精通U盘分区与启动

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

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

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

使用fdisk命令来进行分区
fdisk 参数说明

fdisk命令常用的参数有:
p、打印分区表。
n、新建一个新分区。
d、删除一个分区。
q、退出不保存。
w、把分区写进分区表,保存并退出。

分区步骤

常见的分区步骤是:
1.运行“fdisk 想要分区的磁盘名称” 命令,对该磁盘进行分区,如

fdisk /dev/hdd

2.输入 p 显示该磁盘已有的分区
3.输入 n 新建一个分区,然后根据提示选择创建一个扩展分区还是主分区
4.接着输入分区号,柱面开始位置,这两项都可以直接回车,来采用默认的值。
5.输入柱面结束位置,一般该处可以直接输入想要创建的分区大小,如输入+10G,表示创建的分区大小为10G。
6.输入p查看新创建的分区,看到一个新建的分区,如/dev/hdd1
7.输入w保存退出。

使用分区

在使用硬盘之前必须对其分区进行格式化,并挂载。
可参考如下命令:

mkfs.ext3 /dev/hdd1

创建挂载目录

 mkdir /hdd1

挂载

mount /dev/hdd1 /hdd1

最后使用df -h查看。

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

开机自启动磁盘挂载

为确保在对主机进行重启后,能够自动进行磁盘的挂载,需要在/etc/fstab文件中加入以下内容:

/dev/hdd1 /hdd1 ext3 defaults 0 0

其他:
1.查看目前机器中的所有磁盘及分区情况

cat /proc/partitions

2.使用lsblk命令以树状列出所有块设备

2019-04-15 10:47:00 sunpeng1117 阅读数 2385
  • U3 精通U盘分区与启动

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

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

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

在 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硬盘的表示方法一样,不在多说。

在 Linux 中规定,每一个硬盘设备最多能有 4个主分区(其中包含扩展分区)构成,任何一个扩展分区都要占用一个主分区号码,也就是在一个硬盘中,主分区和扩展分区一共最多是 4 个。

Linux 规定了主分区(或者扩展分区)占用 1 至 16 号码中的前 4 个号码。以第一个 IDE 硬盘为例说明,主分区(或者扩展分区)占用了 hda1、hda2、hda3、hda4,而逻辑分区占用了 hda5 到 hda16 等 12 个号码。
  因此,Linux 下面每一个硬盘总共最多有 16 个分区。

IDE硬盘最多有64个分区

1.fdisk -l 查看系统分区详细信息

[root@test4 ~]# fdisk -l
Disk /dev/sda: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14        2610    20860402+  8e  Linux LVM

注释:这个硬盘的大小是21.4GB,有255个磁面,63个扇区,2610磁柱(cylinders)

每个cylinder(磁柱)的容量是 8225280 bytes=8225.280 K(约为)=8.225280M(约为);

Device Boot Start End Blocks Id System

/dev/sda1 * 1 13 104391 83 Linux

/dev/sda2 14 1305 10377990 8e Linux LVM

id和System 表示的是一个意思,id看起来不太直观,我们要在fdisk 一个分区时,通过指定id来确认分区类型;比如 7表示的就NTFS 分区;这个在fdisk 中要通过t功能来指定。83是linux。下面的部分会提到;

说明:硬盘分区的表示:在Linux 是通过hdx 或 sdx 表示的:

其中* 表示的是a、b、c … …

另外x 表示的数字 1、2、3 … …

hd大多是IDE硬盘;sd大多是SCSI或移动存储;引导(Boot):表示引导分区,在上面的例子中sda1 是引导分区;

Start (开始):表示的一个分区从Xcylinder(磁柱)开始;

End (结束):表示一个分区到 Ycylinder(磁柱)结束;

2.fdisk 对磁盘进行分区

[root@test4 ~]# fdisk /dev/sda  //对sda磁盘进行分区
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won't be recoverable.


The number of cylinders for this disk is set to 2597.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
    (e.g., DOS FDISK, OS/2 FDISK)
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

Command (m for help): m          //输出帮助信息
 Command action
    a   toggle a bootable flag    //设置启动分区
    b   edit bsd disklabel        //编辑分区标签
    c   toggle the dos compatibility flag
    d   delete a partition        //删除一个分区
    l   list known partition types  //列出分区类型
    m   print this menu           //输出帮助信息
    n   add a new partition       //建立一个新的分区
    o   create a new empty DOS partition table //创建一个新的空白DOS分区表
    p   print the partition table    //打印分区表
    q   quit without saving changes  //退出不保存设置
    s   create a new empty Sun disklabel
    t   change a partition's system id  //改变分区的ID
    u   change display/entry units    //改变显示的单位
    v   verify the partition table    //检查验证分区表
    w   write table to disk and exit  //保存分区表
    x   extra functionality (experts only)
Command (m for help):n     
Command action
   e   extended                 //e是扩展分区
   p   primary partition (1-4)  //p是主分区
p
Partition number (1-4): 1       //定义分区数量   --主分区最多只能有四个
First cylinder (1-2597, default 1): 1
Last cylinder or +size or +sizeM or +sizeK (1-2597, default 2597): +100M

Command (m for help): w          //保存刚才的配置信息。
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 22: 无效的参数.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.
[root@test6 ~]# fdisk /dev/sda

The number of cylinders for this disk is set to 2610.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): n
First cylinder (1710-2610, default 1710): 
Using default value 1710
Last cylinder or +size or +sizeM or +sizeK (1710-2610, default 2610): +100M     

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.
[root@test6 ~]# partprobe /dev/sda //对硬盘进行更新
[root@test6 ~]# fdisk -l

Disk /dev/sda: 21.4 GB, 21474836480 bytes
heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14         274     2096482+  82  Linux swap / Solaris
/dev/sda3             275         404     1044225   8e  Linux LVM
/dev/sda4             405        2610    17719695    5  Extended
/dev/sda5             405        1709    10482381   83  Linux
/dev/sda6            1710        1722      104391   83  Linux
[root@test6 ~]# mkfs.ext3 /dev/sda6  //需要先进行格式化,才能使用 。mkfs -t ext3 /dev/sda5 (mkfs.ext3 一样效果 -t 指定类型 -b 指定block大小·)
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
inodes, 104388 blocks
blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67371008
block groups
blocks per group, 8192 fragments per group
inodes per group
Superblock backups stored on blocks: 
        8193, 24577, 40961, 57345, 73729

Writing inode tables: done                            
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 23 mounts or
days, whichever comes first.  Use tune2fs -c or -i to override.

[root@test6 ~]# mount /dev/sda6 /mnt/sda7/  //进行挂载使用
anaconda-ks.cfg  install.log  install.log.syslog
[root@test6 ~]# df -h
文件系统              容量  已用 可用 已用% 挂载点
/dev/sda5             9.7G  1.1G  8.1G  12% /
/dev/sda1              99M   12M   83M  13% /boot
tmpfs                 252M     0  252M   0% /dev/shm
/dev/hdc              3.9G  3.9G     0 100% /mnt/cdrom
/dev/sda6              99M  5.6M   89M   6% /mnt/sda7

1.磁盘管理常用命令
1.1 ls -i 文件名 查看文件存储在哪个innode中

[root@test6 ~]# ls -i lstest 
 1179659 lstest

1.2 ls -id 文件夹名 查看文件夹存储在哪个innode中

[root@test6 ~]# ls -id lstest1
1179661 lstest1

1.3 filefrag -v 文件名 查看文件存储block具体位置

[root@test6 ~]# filefrag -v lstest
Checking lstest
Filesystem type is: ef53
Filesystem cylinder groups is approximately 78
Blocksize of file lstest is 4096
File size of lstest is 5 (1 blocks)
First block: 1183744
Last block: 1183744
lstest: 1 extent found

2.硬盘工具:

2.1 dumpe2fs /dev/sda1 查看分区superblock 和blockgroup等详细信息

[root@test6 ~]# dumpe2fs /dev/sda1
dumpe2fs 1.39 (29-May-2006)
Filesystem volume name:   /boot
Last mounted on:          <not available>
Filesystem UUID:          0c7f5306-fd13-4b13-819f-4b6cab126938
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery sparse_super
Default mount options:    user_xattr acl
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              26104
Block count:              104388
Reserved block count:     5219
Free blocks:              89552
Free inodes:              26069
First block:              1
Block size:               1024
Fragment size:            1024
Reserved GDT blocks:      256
Blocks per group:         8192
Fragments per group:      8192
Inodes per group:         2008
Inode blocks per group:   251
Filesystem created:       Tue Mar 28 07:57:05 2017
Last mount time:          Tue Mar 28 08:29:57 2017
Last write time:          Tue Mar 28 08:29:57 2017
Mount count:              3
Maximum mount count:      -1
Last checked:             Tue Mar 28 07:57:05 2017
Check interval:           0 (<none>)
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:               128
Journal inode:            8  //ext3 日志inode位置
Default directory hash:   tea
Directory Hash Seed:      5e624e4a-049c-4cbf-a65f-8b8a7d08e398
Journal backup:           inode blocks
Journal size:             4114k  //日志文件大小


Group 0: (Blocks 1-8192)
  Primary superblock at 1, Group descriptors at 2-2
  Reserved GDT blocks at 3-258
  Block bitmap at 259 (+258), Inode bitmap at 260 (+259)
  Inode table at 261-511 (+260)
free blocks, 1990 free inodes, 2 directories
  Free blocks: 4642-5664
  Free inodes: 19-2008
Group 1: (Blocks 8193-16384)
  Backup superblock at 8193, Group descriptors at 8194-8194
  Reserved GDT blocks at 8195-8450
  Block bitmap at 8451 (+258), Inode bitmap at 8452 (+259)
  Inode table at 8453-8703 (+260)
free blocks, 2008 free inodes, 0 directories
  Free blocks: 11802-16384
  Free inodes: 2009-4016
Group 2: (Blocks 16385-24576)
  Block bitmap at 16385 (+0), Inode bitmap at 16386 (+1)
  Inode table at 16387-16637 (+2)
free blocks, 2008 free inodes, 0 directories
  Free blocks: 16638-24576
  Free inodes: 4017-6024
Group 3: (Blocks 24577-32768)
  Backup superblock at 24577, Group descriptors at 24578-24578
  Reserved GDT blocks at 24579-24834
  Block bitmap at 24835 (+258), Inode bitmap at 24836 (+259)
  Inode table at 24837-25087 (+260)
free blocks, 1991 free inodes, 1 directories
  Free blocks: 25193-25600, 25609-26112, 26121-26624, 26632-27136, 27144-27648, 27657-28160, 28168-28672, 28683-29184, 29192-29696, 29704-30208, 30218-31744, 31804-32768
  Free inodes: 6042-8032
Group 4: (Blocks 32769-40960)
  Block bitmap at 32769 (+0), Inode bitmap at 32770 (+1)
  Inode table at 32771-33021 (+2)
free blocks, 2008 free inodes, 0 directories
  Free blocks: 33022-40960
  Free inodes: 8033-10040
Group 5: (Blocks 40961-49152)
  Backup superblock at 40961, Group descriptors at 40962-40962
  Reserved GDT blocks at 40963-41218
  Block bitmap at 41219 (+258), Inode bitmap at 41220 (+259)
  Inode table at 41221-41471 (+260)
free blocks, 2008 free inodes, 0 directories
  Free blocks: 41472-49152
  Free inodes: 10041-12048
Group 6: (Blocks 49153-57344)
  Block bitmap at 49153 (+0), Inode bitmap at 49154 (+1)
  Inode table at 49155-49405 (+2)
free blocks, 2008 free inodes, 0 directories
  Free blocks: 49406-57344
  Free inodes: 12049-14056
Group 7: (Blocks 57345-65536)
  Backup superblock at 57345, Group descriptors at 57346-57346
  Reserved GDT blocks at 57347-57602
  Block bitmap at 57603 (+258), Inode bitmap at 57604 (+259)
  Inode table at 57605-57855 (+260)
free blocks, 2008 free inodes, 0 directories
  Free blocks: 57856-65536
  Free inodes: 14057-16064
Group 8: (Blocks 65537-73728)
  Block bitmap at 65537 (+0), Inode bitmap at 65538 (+1)
  Inode table at 65539-65789 (+2)
free blocks, 2008 free inodes, 0 directories
  Free blocks: 65790-73728
  Free inodes: 16065-18072
Group 9: (Blocks 73729-81920)
  Backup superblock at 73729, Group descriptors at 73730-73730
  Reserved GDT blocks at 73731-73986
  Block bitmap at 73987 (+258), Inode bitmap at 73988 (+259)
  Inode table at 73989-74239 (+260)
free blocks, 2008 free inodes, 0 directories
  Free blocks: 74240-81920
  Free inodes: 18073-20080
Group 10: (Blocks 81921-90112)
  Block bitmap at 81921 (+0), Inode bitmap at 81922 (+1)
  Inode table at 81923-82173 (+2)
free blocks, 2008 free inodes, 0 directories
  Free blocks: 82174-90112
  Free inodes: 20081-22088
Group 11: (Blocks 90113-98304)
  Block bitmap at 90113 (+0), Inode bitmap at 90114 (+1)
  Inode table at 90115-90365 (+2)
free blocks, 2008 free inodes, 0 directories
  Free blocks: 90366-98304
  Free inodes: 22089-24096
Group 12: (Blocks 98305-104387)
  Block bitmap at 98305 (+0), Inode bitmap at 98306 (+1)
  Inode table at 98307-98557 (+2)
free blocks, 2008 free inodes, 0 directories
  Free blocks: 98558-104387
  Free inodes: 24097-26104

2.2 fsck /dev/sda 检查硬盘情况 -C 显示检查过程 -f 强制检查
  2.3 badblocks /dev/sda5 检查硬盘坏道 -sv 显示进度和结果
df 查看文件系统(-h 以合适的单位示系统大小 -T 显示系统类型)
du 查看文件夹大小,包含文件夹里面文件
du -s 仅仅查看文件夹大小
du -h 以M方式显示大小,方便查看

fuser -mv /mnt 当显示 设备正在忙的时候,可以使用这个命令查看使用进程
tune2fs -l /dev/sda 查看磁盘参数(-h 查看可选选项,进行选项更改)

[root@test6 ~]# tune2fs -l /dev/sda5
tune2fs 1.39 (29-May-2006)
Filesystem volume name:   /     //卷标
Last mounted on:          <not available>
Filesystem UUID:          4b64bcce-0acc-40f2-85e6-07e198152c20
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery sparse_super large_file
Default mount options:    user_xattr acl
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              2621440
Block count:              2620595
Reserved block count:     131029
Free blocks:              2257390
Free inodes:              2582833
First block:              0
Block size:               4096
Fragment size:            4096
Reserved GDT blocks:      639
Blocks per group:         32768
Fragments per group:      32768
Inodes per group:         32768
Inode blocks per group:   1024
Filesystem created:       Tue Mar 28 07:57:02 2017
Last mount time:          Tue Mar 28 08:29:56 2017
Last write time:          Tue Mar 28 08:29:56 2017
Mount count:              3
Maximum mount count:      -1    //超过最大次数,则需要对分区进行自检
Last checked:             Tue Mar 28 07:57:02 2017
Check interval:           0 (<none>)
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:               128
Journal inode:            8
First orphan inode:       163883
Default directory hash:   tea
Directory Hash Seed:      8633f5c3-e870-428e-8ce3-7d636f0ef80a
Journal backup:           inode blocks

e21able /dev/sda7 aa 卷标的另一种改法

2018-10-29 20:11:41 sinat_39403631 阅读数 1119
  • U3 精通U盘分区与启动

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

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

为虚拟机分配了600G大小的,存储,但是实际使用的时候发现,df -h发现哈多的空间并未使用,想要扩展其中分区

可以看到目前系统中只有一块盘,已经有了3个主分区和一个扩展分区(一个硬盘至少有1个,最多有4个主分区,扩展分区可以没有,有最多只有1个,逻辑分区是基于扩展分区之上的)

hdIDE硬盘。如果是SCSI硬盘,则为sd

/dev/sda1-3是主分区,

/dev/sda3 swap分区,无需挂载  ,在/etc/fstab中会显示文件系统类型为swap

/dev/sda4是扩展分区,扩展分区不能单独使用,要继续分成逻辑分区,只要空间够大,逻辑分区可以有多个。

 

/dev/sda5是逻辑分区,逻辑分区从5开始

逻辑分区的大小是依赖于扩展分区的大小的,这里扩展分区不大,全部分给了sda5,只有70G,,全部600多GB并未全部分完,真是浪费。但是系统将根目录挂载在逻辑分区上,这一点非常不好,想要扩大扩展分区的时候就会动/,服务就会出现错误,谨慎操作。本来扩展扩展分区是最好的办法,但是因为根目录挂载就放弃了这个方案。

 

因为/home目录下面无文件,选择/dev//sda2进行操作

1、第一步  卸载分区

umount /dev/sda2 

 

如果出现target is busy

使用lsof –a 目录,或者fuser –m –v 目录查看是那些进程在使用目录,kill  -9  进程号  杀掉进程

 

2、格式化分区

mkfs.xfs /dev/sda2 把这个分区格式化为xfs文件格式的,使用其他的自行选择

一个分区就是一个独立的文件系统,使用什么文件系统自己选择

 

3、使用fdisk命令进行分区删除

fdisk /dev/sda #对哪个硬盘操作就写哪个

进入

输入m,可以查看有哪些操作

输入p ,打印分区表

输入d,删除分区

输入n,创建一个分区

就把第二个分区删除了

创建的第二个分区的时候,注意起始位置的选择,如果还是选择原来的,那大小正好卡在原来的13分区中间,大小不会变。所以分区位置需要仔细看下,选择新的起始位置,因此选择接着分区4的开始,这样就能结束位置选在1258291199,将大小扩到最大。

/dev/desda2的大小就变成了430G

输入w保存

 

然后分区变了要写进内核里面

4partprobe

将分区的信息保存到内核中,这时候修改的分区内不能有数据,否则会写入失败

 

5、格式化分区

mkfs.xfs /dev/sda2 #将分区格式化成xfs文件系统

 

6、挂载分区mount /dev/sda2 /home

/dev/sda2重新挂载到/home下面

 

7、将挂载信息写到/etc/fstab文件中

这样才能开机自启动文件系统是查看分区挂载信息,

blkid /dev/sda2  #blkid是查看一经挂载的分区设备信息,所以必须先挂载才能使用此命令

[root@master01 ~]# blkid /dev/sda2

/dev/sda2: UUID="f6af0836-582c-49e7-a9b9-65464344556a" TYPE="xfs"

这样就能获得UUID,以及分区系统类型

 

将原来的挂载信息注释掉,添加新的写到/etc/fstab文件中

UUID=f6af0836-582c-49e7-a9b9-65464344556a /home   xfs    defaults        1 2

这样就完成了。

 

 

2014-03-13 12:19:26 tbdp6411 阅读数 2681
  • U3 精通U盘分区与启动

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

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

利用vmware安装centos6.4时,发现虚拟机的linux存储容量不够,则增加10G的空间给linux,可是这样并不能解决linux中分区大小,需要配置。查看分区占用情况,发现/dev/sda2挂载的根分区占用最多,软件全部安装在该分区中。/dev/sda1 及swap分区情况正常。我们分区扩大sda2的分区大小

[root@localhost ~]# fdisk -l
                                                                                
Disk /dev/sda: 5368 MB, 5368709120 bytes
255 heads, 63 sectors/track, 652 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
                                                                                
   Device Boot    Start       End    Blocks   Id System
/dev/sda1   *         1        25    200781   83 Linux
/dev/sda2            26       620   4779337+ 83 Linux
/dev/sda3           621       652    257040   82 Linux swap
sda1挂载/boot 分区 200 M,sda2挂载 / 分区 剩余所有,sda3 为swap分区 100M

[root@localhost ~]# df -l

文件系统    1K-块        已用         可用           已用%   挂载点

/dev/sda2              4704236    4374939    329297        93%        / 
/dev/sda1              194443      9377        175027        6%          /boot
none                     95336        0              95336          0%         /dev/shm

         如果重装系统,可以重新划分虚拟硬盘空间和分区,但系统很多东西要重新设置,有些软件也要重新安装和设置,比较麻烦。不选择重装,于是在网上搜索资料,看能不能扩充虚拟硬盘容量并调整Linux分区大小,最好是不改变现有分区结构,只将扩充的虚拟硬盘空间加大到sda2分区上。

          首先是扩充虚拟硬盘容量,这个问题找到了解决方法。在VMware中有一个工具,专门用来管理虚拟硬盘,不过得在命令行中运行。在VMware安装目录下有这个程序vmware-vdiskmanager.exe 。win+R 打开cmd窗口 cd d:\vmware (我的VMware安装在 D:\vmware目录中) 运行vmware-vdiskmanager 出来以下界面


   下面是命令帮助信息。可以看到如果要扩充虚拟硬盘空间,可以用参数 -x ( -x <new-capacity>    : expand the disk to the specified capacity) 它也有使用举例 : ex 4: vmware-vdiskmanager.exe -x 36Gb myDisk.vmdk 意思是将 myDisk.vmdk (虚拟机存放目录中的虚拟硬盘文件) 容量扩充至36Gb 。按照此信息,将我的虚拟硬盘文件 E:\Red Hat Linux\Red Hat Linux.vmdk 
扩充至10Gb 吧。键入命令D:\vmware>vmware-vdiskmanager -x 10Gb "E:\Red Hat Linux\Red Hat Linux.vmdk" 。出现错误:


原因是没有关闭虚拟机正在运行的Linux系统,init 0 关闭它再来。D:\vmware>vmware-vdiskmanager -x 10Gb "E:\Red Hat Linux\Red Hat Linux.vmdk" ,好!此时开始执行


等到100% 后,成功


到这里第一个问题(扩充虚拟硬盘容量)解决了。

或者也可以通过虚拟机的

扩容选项来扩容。

       接下来第二个问题,如何将扩充进来的空余空间,加到sda2上。

            网上有很多方法都是说,将空余空间划分成第四个主分区sda4,格式化成ext3,然后挂载到 / 目录下,毕竟是根目录占用了93%的硬盘空间,想来有道理,动手~~~

我们先启动Linux系统来fdisk -l 看一下

root@localhost ~]# fdisk -l
                                                                                
Disk /dev/sda: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
                                                                                
   Device Boot    Start       End    Blocks   Id System
/dev/sda1   *         1        25    200781   83 Linux
/dev/sda2            26       620   4779337+ 83 Linux
/dev/sda3           621       652    257040   82 Linux swap

可以看到硬盘空间确实已经增大了,但没有出现在我们的分区列表中。df 查看也和原来一样

[root@localhost ~]# df -l

文件系统    1K-块        已用         可用           已用%   挂载点

/dev/sda2              4704236    4374939    329297        93%        / 
/dev/sda1              194443      9377        175027        6%          /boot
none                     95336        0              95336          0%         /dev/shm

那么我们就把这个空余空间用起来吧—— fdisk命令在/dev/sda(第一块scsi硬盘) 上   n 新加一个分区

[root@localhost ~]# fdisk /dev/sda

The number of cylinders for this disk is set to 1305.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): m       按m或输入 help 获取参数帮助
Command action
Command action
a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   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)
Command (m for help):n          选择 n 添加一个新分区

Command action
   e   extended
   p   primary partition (1-4)        选择p 创建主分区,e为创建逻辑分区
p

Selected partition 4
First cylinder (653-1305, default 653):               不作输入按系统默认大小去分配
Using default value 653
Last cylinder or +size or +sizeM or +sizeK (653-1305, default 1305):       不作输入按系统默认大小去分配 
Using default value 1305

Command (m for help):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: \x{8BBE}\x{5907}\x{6216}\x{8D44}\x{6E90}\x{5FD9}.
The kernel still uses the old table.
The new table will be used at the next reboot. 
Syncing disks.

w保存并退出,将空余空间全部划分给了一个新分区 sda4,The kernel still uses the old table.
The new table will be used at the next reboot.   好吧,重启后再来 reboot 。或者通过查看cat /proc/partitions查看分区情况,通过命令

解决方法:执行下partprobe 命令

 

       partprobe包含在parted的rpm软件包中。partprobe可以修改kernel中分区表,使kernel重新读取分区表。 因此,使用该命令就可以创建分区并且在不重新启动机器的情况下系统能够识别这些分区

 

查看是否安装该命令:

[root@db1 dev]# rpm -q parted

parted-1.8.1-23.el5

 

我们执行一下该命令:

[root@db1 dev]# partprobe

Warning: Unable to open /dev/hdc read-write (Read-only file system).  /dev/hdc has been opened read-only.


/dev/sda4出来了,但还没有格式化,也没有挂载到目录上面去。接下来就将它格式化成ext3,并挂载到 根目录(/)下去。

格式化成ext3 命令 mkfs.ext3 /dev/sda4

[root@localhost~]# mkfs.ext4 /dev/sda4
mke2fs 1.32 (09-Nov-2002)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
656000 inodes, 1311305 blocks
65565 blocks (5.00%) reserved for the super user
First data block=0
41 block groups
32768 blocks per group, 32768 fragments per group
16000 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736

Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 37 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.

挂载到根目录命令:mount /dev/sda4   /         命令执行完,成功则没有任何提示,我们df 看一下

[root@localhost ~]# df -l

文件系统    1K-块        已用         可用           已用%   挂载点

/dev/sda2              4704236    4374939    329297        93%        / 
/dev/sda1              194443      9377        175027        6%          /boot
none                     95336        0              95336          0%         /dev/shm

/dev/sda4              4704236    4374939    329297        93%        / 
           成了这个样子,看来这方法并不行,怎么新挂上去的分区也被占用了93%。这里没懂是怎么回事。没有达到我想要的效果,这个问题用这个方法解决不了,怎么办呢?歇会儿,再去百度&Google逛逛。

           恩,据CSDN有位仁兄说,Linux有这么个命令 parted ,可以来调整分区,不过很麻烦,全部是命令操作,还要自己计算好调整分区的起始和结束位置,技术含量太高,偶不会了,只会搞些简单的。

          继续找ing ~~,又找到这么个方法,有个软件可以像Windows中的partitionmagic一样操作Linux分区,名叫gparted ,和parted命令有些相似,是不是有些根源?赶快去网上找找,在它的官网下载了这个软件,最新版滴,liveCD版的ISO文件,加载在光驱中启动去操作分区。init 6 重启 ,加载ISO文件,设置虚拟机BIOS从光驱启动………………  

 


一路默认选项。

可以查看分区选项,通过resize来调整分区。



嘿嘿,还可以,行了,所有调整好后,最后Apply,等待它去执行吧!等待

 



完成后,再重启,进入Linux系统,用fdisk -l 和df 命令查看,哈哈,OK了

[root@localhost ~]# fdisk -l

Disk /dev/sda: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot    Start       End    Blocks   Id System
/dev/sda1   *         1        25    200781   83 Linux
/dev/sda2            26      1272 10016527+ 83 Linux
/dev/sda3          1273      1305    265072+ 82 Linux swap
[root@localhost ~]# df
文件系统    1K-块        已用         可用           已用%   挂载点

/dev/sda2              9860296   2024280    7435356     22%       / 
/dev/sda1              194443      9377         175027       6%        /boot
none                     95336       0              95336        0%        /dev/shm

 至此问题已经解决。

2018-06-26 10:43:33 GUOHAO8888 阅读数 34
  • U3 精通U盘分区与启动

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

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

在学习 Linux的时候,Linux的安装对于一个初学者来说是一件十分麻烦的事情 。在安装Linux的时候会出现很多问题,比如最简单的比如驱动程序的错误。但本次学习的过程中,对于一个初学者,我却感觉硬盘分区是一个值得写一些的地方。

硬盘的分区主要分为基本分区(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 软件包,系统安装时,就自带的;我们通过这个命令可以查看磁盘的使用情况以及文件系统被挂载的位置;


Linux 增加分区大小

阅读数 11161

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