[root@centos7u6 mysqldata]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 40G 0 disk
├─sda1 8:1 0 2M 0 part
├─sda2 8:2 0 500M 0 part /boot
└─sda3 8:3 0 39.5G 0 part
├─centos-root 253:0 0 31.5G 0 lvm /
└─centos-swap 253:1 0 8G 0 lvm [SWAP]
sdb 8:16 0 100G 0 disk
sr0 11:0 1 1024M 0 rom
[root@centos7u6 mysqldata]# fdisk -l
Disk /dev/sdb: 107.4 GB, 107374182400 bytes, 209715200 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/sda: 42.9 GB, 42949672960 bytes, 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x00001467
Device Boot Start End Blocks Id System
/dev/sda1 2048 6143 2048 83 Linux
/dev/sda2 * 6144 1030143 512000 83 Linux
/dev/sda3 1030144 83886079 41427968 8e Linux LVM
Disk /dev/mapper/centos-root: 33.8 GB, 33831256064 bytes, 66076672 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/centos-swap: 8589 MB, 8589934592 bytes, 16777216 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
fdisk /dev/sdc
n
p
1
两次回车
wq
# n 是添加新分区 p 一个主分区
--------------fdisk分区操作后--------------
[root@centos7u6 mysqldata]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 40G 0 disk
├─sda1 8:1 0 2M 0 part
├─sda2 8:2 0 500M 0 part /boot
└─sda3 8:3 0 39.5G 0 part
├─centos-root 253:0 0 31.5G 0 lvm /
└─centos-swap 253:1 0 8G 0 lvm [SWAP]
sdb 8:16 0 100G 0 disk
└─sdb1 8:17 0 100G 0 part
sr0 11:0 1 1024M 0 rom
[root@centos7u6 mysqldata]# fdisk -l
Disk /dev/sdb: 107.4 GB, 107374182400 bytes, 209715200 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x17812cc3
Device Boot Start End Blocks Id System
/dev/sdb1 2048 209715199 104856576 83 Linux
Disk /dev/sda: 42.9 GB, 42949672960 bytes, 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x00001467
Device Boot Start End Blocks Id System
/dev/sda1 2048 6143 2048 83 Linux
/dev/sda2 * 6144 1030143 512000 83 Linux
/dev/sda3 1030144 83886079 41427968 8e Linux LVM
Disk /dev/mapper/centos-root: 33.8 GB, 33831256064 bytes, 66076672 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/centos-swap: 8589 MB, 8589934592 bytes, 16777216 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
查看系统磁盘格式(文件类型)
df -hT
[root@192 conf.d]# df -hT
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 63G 0 63G 0% /dev
tmpfs tmpfs 63G 301M 63G 1% /dev/shm
tmpfs tmpfs 63G 4.1G 59G 7% /run
tmpfs tmpfs 63G 0 63G 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 50G 29G 22G 57% /
/dev/mapper/centos-home xfs 2.0T 1.5T 522G 74% /home
/dev/vda2 xfs 1014M 149M 866M 15% /boot
tmpfs tmpfs 13G 0 13G 0% /run/user/0
overlay overlay 50G 29G 22G 57% /var/lib/docker/overlay2/eceade690b54a01bfe273f33131497beb2678d64355c97ce0e34c07b6f7987ed/merged
overlay overlay 50G 29G 22G 57% /var/lib/docker/overlay2/49f0846abde6684d39476a39b2e6f894f80a8aa9291008e4932a02f7dc7c69ed/merged
tmpfs tmpfs 13G 0 13G 0% /run/user/992
root@centos7u6 ~]# mkfs.ext4 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
6553600 inodes, 26214144 blocks
1310707 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2174746624
800 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
Setting up the installation environment
.
Creating disklabel on /dev/vda
.
Creating xfs on /dev/vda1
.
Creating lvmpv on /dev/vda2
.
Creating swap on /dev/mapper/centos-swap
.
Creating xfs on /dev/mapper/centos-home
.
Creating xfs on /dev/mapper/centos-root
linux_fdisk命令详解_jackyu651的博客-CSDN博客_fdisk命令详解
linux下fdisk命令操作磁盘详解--添加、删除、转换分区等
fdisk 操作硬盘的命令格式如下:
[root@localhost beinan]# fdisk 设备
比如我们通过 fdisk -l 得知 /dev/hda 或者 /dev/sda 设备;我们如果想再添加或者删除
一些分区,可以用
[root@localhost beinan]# fdisk /dev/hda
或
[root@localhost beinan]# fdisk /dev/sda
注 在以后的例子中,我们要以 /dev/sda 设备为例,来讲解如何用 fdisk 来操作添加、删
除分区等动作;
1、fdisk 的说明;
当我们通过 fdisk 设备,进入相应设备的操作时,会发现有如下的提示;以 fdisk /dev/sda
设备为例,以下同;
[root@localhost beinan]# fdisk /dev/sda
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 注:l 是列出分区类型,以供我们设置相应分区的类型;
m print this menu 注:m 是列出帮助信息;
n add a new partition 注:添加一个分区;
o create a new empty DOS partition table
p print the partition table 注:p 列出分区表;
q quit without saving changes 注:不保存退出;
s create a new empty Sun disklabel
t change a partition's system id 注:t 改变分区类型;
u change display/entry units
v verify the partition table
w write table to disk and exit 注:把分区表写入硬盘并退出;
x extra functionality (experts only) 注:扩展应用,专家功能;
1、创建一个10G的分区,并格式化为ext4文件系统。要求:
(1)block大小为2048,预留空间20%,卷标为MYDATA。
在Linux中添加一块20G的新硬盘/dev/sdb并重启。
使用fdisk创建10G的分区。
[root@centos ~]# fdisk /dev/sdb
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
Partition number (1-4, default 1):
First sector (2048-41943039, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): +10G
Partition 1 of type Linux and of size 10 GiB is set
Command (m for help): w
The partition table has been altered!
使用mke2fs将sdb1格式化为ext4文件系统,block大小为2048,预留20%空间,卷标为MYDATA。
[root@centos ~]# mke2fs -t ext4 -b 2048 -m 20 -L MYDATA -q /dev/sdb1
(2)挂载至/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳。
[root@centos ~]# mkdir /mydata
[root@centos ~]# mount -o noexec,noatime /dev/sdb1 /mydata
(3)可开机自动挂载。
[root@centos ~]# echo "/dev/sdb1 /mydata ext4 noexec,noatime 0 0" >> /etc/fstab
(4) 修改分区类型 t
2、创建一个大小为1G的swap分区,并启用。
创建1G的分区,将分区ID设为swap。
[root@centos ~]# fdisk /dev/sdb
Command (m for help): n
Select (default p): p
Partition number (2-4, default 2):
First sector (20973568-41943039, default 20973568):
Last sector, +sectors or +size{K,M,G} (20973568-41943039, default 41943039): +1G
Command (m for help): t
Partition number (1,2, default 2): 2
Hex code (type L to list all codes): 82
Command (m for help): w
重读分区表,格式化swap分区并启用。
[root@centos ~]# partx -a /dev/sdb
partx: /dev/sdb: error adding partition 1
[root@centos ~]# partx -a /dev/sdb
partx: /dev/sdb: error adding partitions 1-2
[root@centos ~]# mkswap /dev/sdb2
Setting up swapspace version 1, size = 1048572 KiB
no label, UUID=3f4be657-d865-4f55-a1eb-279b635db303
[root@centos ~]# swapon /dev/sdb2
Jan 30, 2016 in linux
移动硬盘分配空间如下(其中sdb1,sdb3,sdb4为主分区,sdb5、6、7为逻辑分区):sdb 8:16 0 465.7G 0 disk
├─sdb1 8:17 0 18.7G 0 part /
├─sdb2 8:18 0 1K 0 part
├─sdb3 8:19 0 78G 0 part /media/james/My Documentes
├─sdb4 8:20 0 319.2G 0 part /media/james/UUI
├─sdb5 8:21 0 10.9G 0 part
├─sdb6 8:22 0 7.8G 0 part /media/james/mint
└─sdb7 8:23 0 31.2G 0 part /media/james/home
原来sdb5挂载在Ubuntu15.04的根目录/下,sdb6挂载在目录/usr/share下(因为该目录占用空间大,不得已将数据复制出来覆盖了原来的mint,运行时挂载,这是一个不错的扩容方法),sdb7挂载在/home下(空间最大,但是由于安装软件多,大部分都在/usr下)。问题出现在,将Ubuntu安装在3个分区上后,还是经常出现开机iNode错误,不得已必须强制关机,重启后无法进入图形界面,而进入了emergency mode的命令行界面,输入密码可正常登陆,跳过则进入Ubuntu原本的图形界面,自己安装的软件全部没有,怀疑home目录没挂载上,进入sdb1分区的deepin系统,发现sdb5无法挂载,显示不能识别的文件系统。
尝试win下修复,但都无法挂载sdb5,分区表肯定损坏了,最后又把MBR给整坏了,硬盘已经完全无法启动操作系统了。无奈最后在sdb1上新安装了mintKDE系统,才修复了MBR。期间尝试了多个网友的办法,增加了不少技能。
lsblk能列出当前系统存在的硬盘和硬盘分区情况,如下。sdb 8:16 0 465.7G 0 disk
├─sdb1 8:17 0 18.7G 0 part /
├─sdb2 8:18 0 1K 0 part
├─sdb3 8:19 0 78G 0 part /media/james/My Documentes
├─sdb4 8:20 0 319.2G 0 part /media/james/UUI
├─sdb5 8:21 0 10.9G 0 part
├─sdb6 8:22 0 7.8G 0 part /media/james/mint
└─sdb7 8:23 0 31.2G 0 part /media/james/home
我总是能看到sdb5分区,但是无法挂载。
df 能列出硬盘分区挂载情况及使用情况,掌握磁盘是否占满。james@james-ThinkPad-T440p:~ > df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sdb1 19G 4.6G 13G 27% /
/dev/sdb7 31G 3.5G 26G 12% /media/james/home
/dev/sdb6 7.6G 3.6G 3.7G 50% /media/james/mint
/dev/sda1 101G 45G 56G 45% /media/james/系统
/dev/sdb3 78G 74G 4.4G 95% /media/james/My Documentes
/dev/sdb4 320G 312G 7.5G 98% /media/james/UU
fdisk能为空磁盘分区,并且能修复partition order的错误,以前由于系统频繁装卸,存在这个错误,这个修复后,一直出现inode错误。fdisk还能列出分区的开始与结束柱头。
常用用法:fdisk /dev/sda
//进入交互模式对磁盘进行操作
parted也是一个命令行分区工具。可以修改分区参数,还有一个找回丢失分区表的功能。但是我没有通过这个命令找到丢失的sdb5的分区表
参考:parted命令详解
linux的parted手册
(1)MBR:”Master Boot Record”主引导记录,BIOS检测到一个硬盘后,将磁盘的0 cylinder(0柱面),0 head(0磁头),1 sector(1扇区)的内容经过简单判断后,加载到内存中指定位置,然后跳转至该位置运行。MBR大小为512bytes,其中主要存放引导程序和该硬盘的分区表。
(2)GRUB:”GRand Unified Bootloader”:多重操作系统启动管理器,通过运行GRUB来引导进入操作系统。
(3)启动过程为:首先启动到BIOS,然后检测硬盘的MBR,将MBR该扇区的内容(也就是写在上面的GRUB)装入内存运行,再通过GRUB来引导操作系统。
(4)grub2分为2部分,一部分在MBR上,一部分在操作系统的/boot/grub下。如果进入引导界面,没有发现启动选项,而只有grub rescue
,则可以通过交互找到另外一部分进行启动。操作流程如下: Ubuntu——grub rescue 主引导修复
参考:从失败的 Linux 引导中恢复
我的情况是grub rescue
都被搞的无法显示了,只能通过其他方法来做。
grub-install可以将grub写入到磁盘的MBR中,但是我没有尝试成功,报错说:path ‘/boot/grub’ is not readable by GRUB on boot ,Installation is impossible 问题
然后看国外网友说Boot-Repair可以修复。
参考:GRUB配置的安装和写入硬盘的MBR
Linux中安装GRUB的两种方式
Boot-Repair是Ubuntu下一款修复启动项的图形工具,需要增加ppa,通过网络安装,由于无法成功添加ppa,没能尝试成功。后面看可以下载镜像安装。
参考:Boot Repair-能一键修复ubuntu启动/引导项的软件
easyBCD是windows下一款修复启动项工具,尝试了一下,可以成功制作windows与linux双启动项,但是由于sdb5始终无法识别挂载,且它制作的启动项不是想要的grub2。
bootice也是win下的修复启动项工具,但局限于修复windows的开机启动,没找到grub2的启动修复选项,win下的修复做的很好。
e2fsck能检查坏轨,并能自动修复磁盘错误,检查时不能挂载磁盘。使用e2fsck -a /dev/sdb5
可以检查磁盘错误并自动修复。
参考:Linux磁盘修复e2fsck命令
fsck也是磁盘修改命令,检查时也不能挂载磁盘。使用fsck.ext4 /dev/sdb5
可以检查磁盘错误并自动修复。运行这条命令后,出现很多问题,确认后修复。再尝试挂载sdb5,成功挂载,并且能显示分区里的文件。
参考:修复被破坏了的linux文件系统分区表
fdisk 分区/格式化/挂载_V一粒尘埃的博客-CSDN博客_fdisk 格式化
Linux 分区详解之—Parted,可以查看你的磁盘的分区类型(比如说GPT/MBR)_iamzhangzhuping的博客-CSDN博客_parted 查看分区