linux fdisk 命令 磁盘划分新的分区及挂载

2024-04-15 21:48

本文主要是介绍linux fdisk 命令 磁盘划分新的分区及挂载,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

今天VirualBox中的Ubuntu进不了系统,用guest用户登录后知道存储不足,在网上找到了解决办法誊抄下来已做备份;

进入linux的安全模式需开机后长按[b]shift[/b]

linux fdisk 命令

fdisk - Partition table manipulator for Linux
一.通过fdisk -l 查看机器所挂硬盘个数及分区情况;
fdsik 能划分磁盘成为若干个区,同时也能为每个分区指定分区的文件系统,比如linux,fat32,linux swap,fat16以及其实类Unix类操作系统的文件系统等.当然用fdisk 对磁盘操作分区后,还要对分区进行格式化所需要的文件系统,这样一个分区才能使用.
主分区[Primary](包括扩展分区[Extended])的总数不能超过4个;也就是说主分区[Primary]+扩展分区[Extended]总数最多是4,扩展分区[Extended]分区只能有一个
因此如果要分成4快磁盘分区的话,那么最多是可以:
P+P+P+P 或者
P+P+P+E
其中3P+E只有3个可用的磁盘,扩展分区不能直接使用,还要分区成逻辑分区[Logical]才行.

fdisk -l 查看硬盘及分区信息
Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 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 6387 51199155 83 Linux 主分区
/dev/sda3 6388 7407 8193150 82 Linux swap / Solaris 主分区
/dev/sda4 7408 60801 428887305 5 Extended 扩展分区
/dev/sda5 7408 20155 102398278+ 83 Linux 逻辑分区
/dev/sda6 20156 26529 51199123+ 83 Linux 逻辑分区


通过上面的信息 我们知道此机器挂载了1个硬盘sda,大小500G
有255个磁面,63个扇区,60801个磁柱;
每个磁柱的容量是8225280 bytes 约为 8.225280M
sda有4个主分区sda1,sda2,sda3,sda4(扩展分区),逻辑分区是sd5,sd6
硬盘总容量=主分区(包括扩展分区)总容量
扩展分区容量=逻辑分区总容量+未分完的总容量

Start :表示的一个分区从X cylinder(磁柱)开始;
End :表示一个分区到 Y cylinder(磁柱)结束;
id和System 表示的是一个意思,id看起来不太直观,我们要在fdisk 一个分区时,通过指定id来确认分区类型;比如 7表示的就NTFS 分区;这个在fdisk 中要通过t功能来指定。
Blocks:表示这个磁盘有多少个os块,单位是k,通常一个os块大小可以通过命令查看 /sbin/tune2fs -l /dev/sda1 里面有block size参数
Blocks = (相应分区End数值 - 相应分区Start数值)x 单位cylinder(磁柱)的容量,就是这个磁盘拥有多少空间的量

从上面看出 扩展分区从7408到60801磁柱 而逻辑分区只从7408到26529磁柱,说明扩展分区还未分完

二.下面看如何增加一个分区

#fdisk /dev/sda
Command (m for help):m [在这里按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) 注:扩展应用,专家功能;

警告:删除分区时要小心,请看好分区的序号,如果您删除了扩展分区,扩展分区之下的逻辑分区都会删除;所以操作时一定要小心;如果知道自己操作错了,请不要惊慌,用q不保存退出;切记切记!!!!在分区操作错了之时,千万不要输入w保存退出!!!

出现上面的菜单后 按下p 先看下分区情况
Command (m for help): p


Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 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 6387 51199155 83 Linux
/dev/sda3 6388 7407 8193150 82 Linux swap / Solaris
/dev/sda4 7408 60801 428887305 5 Extended
/dev/sda5 7408 20155 102398278+ 83 Linux
/dev/sda6 20156 26529 51199123+ 83 Linux

然后按下n (添加一个分区)
Command (m for help): n
First cylinder (26530-60801, default 26530): 27000
这里提示这个分区从哪个磁柱开始,默认接着上一个分区,这里回车就是默认值.这里最好直接按回车,如果您输入了一个非默认的数字,会造成空间浪费;
然后出现
Last cylinder or +size or +sizeM or +sizeK (26530-60801, default 60801):
注:这个是定义分区大小的,+200M 就是大小为200M ;当然您也可以根据p提示的单位cylinder的大小来算,然后来指定 End的数值;如果您想添加一个10G左右大小的分区,请输入 +10000M ;

输入好了 可以fdisk 的退出,用q或者w
其中 q是不保存退出,w是保存退出
Command (m for help): w

Command (m for help): q

由于我这台机器已经有4分主分区
如果主分区未达到4个,达到了4个不会出现
按n添加一个分区时候 会出现
Command (m for help): n (注:添加分区;)
Command action
e extended
p primary partition (1-4)
这时根据自己需要选择主分区还是扩展分区了.


三.分区完以后还要对分区格式化以及加载

用 mkfs.bfs mkfs.ext2 mkfs.jfs mkfs.msdos mkfs.vfatmkfs.cramfs mkfs.ext3 mkfs.minix mkfs.reiserfs mkfs.xfs 等命令来格式化分区,比如我想格式化 sda7为ext3文件系统,则输入;

# mkfs.ext3 /dev/sda7
然后加载sda7到目前系统来存取文件,应该有mount 命令,但首先您得建一个挂载目录;比如 /mnt/sda7

# mount /dev/sda7 /mnt/sda7
然后 df -lh 查看
就能进入 /mnt/sda7目录,然后存取文件了

四.让硬盘启动自动挂载
用vi编辑/etc/fstab文件,加入如下内容
/dev/sda7 /mnt/sda7 ext3 defaults 1 2

/etc/fstab 这个文件还有另外一些参数 以后再写了.

摘自[url]http://blog.itpub.net/29392174/viewspace-1064061/[/url]

先把两个硬盘分区,格式化,然后挂载到系统里面,比如要保存usr的那个硬盘挂载到/mnt/usr下,保存home的那个硬盘挂载到/mnt/home(/mnt/usr,/mnt/home要自己建立),然后先分别拷贝原来系统的/usr和/home的东西到/mnt/usr和/mnt/home,拷贝完成,卸载两个新磁盘的挂载, 然后再把这两个磁盘分别挂载到/home和/usr修改/etc/fstab,修改完成后,mount -a,应该就可以了,你可以mount命令查看下

1)新建一个有足够空间的分区给你要搬移的目录,比如/home
2) 新建一个目录,$mkdir /mnt/newhome
3)把新建的分区挂载到新建的目录下,$sudo mount -t ext3 /dev/hda5 /mnt/newhome
(这里假设了,新建的分区是ext3类型的,并且是在/dev/hda5)
4)把整个/home都拷贝过去,
$cd /home/
$find . -depth -print0 | cpio --null --sparse -pvd /mnt/newhome/ (未测试)

tar cpf - .|(cd /mnt/opttemp; tar xvpf -) (在opt目录里面,命令当中有个.) (已测试)
5)卸载 $sudo umount /mnt/newhome
6)把原来的/home 改名,$sudo mv /home /old_home
7)新建一个/home,sudo mkdir /home
把分区挂载过来,$sudo mount /dev/hda5 /home
9)在 “/etc/fstab” file里加上/dev/hda5 /home ext3 nodev,nosuid 0 2,让系统启动的时候就自动挂载。
10)把就的home删除,$sudo rm -r /old_home

tar cpf - .|(cd /mnt/opttemp; tar xvpf -)
这一条测试过了,在生产机上做过,从别处转过来的,可用

这篇关于linux fdisk 命令 磁盘划分新的分区及挂载的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/907016

相关文章

Redis 的 SUBSCRIBE命令详解

《Redis的SUBSCRIBE命令详解》Redis的SUBSCRIBE命令用于订阅一个或多个频道,以便接收发送到这些频道的消息,本文给大家介绍Redis的SUBSCRIBE命令,感兴趣的朋友跟随... 目录基本语法工作原理示例消息格式相关命令python 示例Redis 的 SUBSCRIBE 命令用于订

防止Linux rm命令误操作的多场景防护方案与实践

《防止Linuxrm命令误操作的多场景防护方案与实践》在Linux系统中,rm命令是删除文件和目录的高效工具,但一旦误操作,如执行rm-rf/或rm-rf/*,极易导致系统数据灾难,本文针对不同场景... 目录引言理解 rm 命令及误操作风险rm 命令基础常见误操作案例防护方案使用 rm编程 别名及安全删除

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

Linux搭建ftp服务器的步骤

《Linux搭建ftp服务器的步骤》本文给大家分享Linux搭建ftp服务器的步骤,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录ftp搭建1:下载vsftpd工具2:下载客户端工具3:进入配置文件目录vsftpd.conf配置文件4:

Linux实现查看某一端口是否开放

《Linux实现查看某一端口是否开放》文章介绍了三种检查端口6379是否开放的方法:通过lsof查看进程占用,用netstat区分TCP/UDP监听状态,以及用telnet测试远程连接可达性... 目录1、使用lsof 命令来查看端口是否开放2、使用netstat 命令来查看端口是否开放3、使用telnet

Linux系统管理与进程任务管理方式

《Linux系统管理与进程任务管理方式》本文系统讲解Linux管理核心技能,涵盖引导流程、服务控制(Systemd与GRUB2)、进程管理(前台/后台运行、工具使用)、计划任务(at/cron)及常用... 目录引言一、linux系统引导过程与服务控制1.1 系统引导的五个关键阶段1.2 GRUB2的进化优

Linux查询服务器 IP 地址的命令详解

《Linux查询服务器IP地址的命令详解》在服务器管理和网络运维中,快速准确地获取服务器的IP地址是一项基本但至关重要的技能,下面我们来看看Linux中查询服务器IP的相关命令使用吧... 目录一、hostname 命令:简单高效的 IP 查询工具命令详解实际应用技巧注意事项二、ip 命令:新一代网络配置全