Linux中直接挂载硬盘和挂载分区有什么区别?



1.问题

比如 /dev/sdb 的硬盘,直接mkfs.ext4 /dev/sdb 后mount 使用,

和 先fdisk 分区 ,在 mkfs 在mount 使用,

两者相比有何区别?

2.回答1

你确定,不用分区?而不是一块硬盘只分成一个区?

直接用过/dev/sdb 的硬盘,直接mkfs.ext4

能用吗?

3.回答2

操作如下:

[[email protected]_storage ~]# fdisk -l

Disk /dev/sda: 21.5 GB, 21474836480 bytes

255 heads, 63 sectors/track, 2610 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x0008b221

Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *           1          64      512000   83  Linux

Partition 1 does not end on cylinder boundary.

/dev/sda2              64        2611    20458496   8e  Linux LVM

Disk /dev/mapper/vg_rhel6x64-lv_root: 18.9 GB, 18865979392 bytes

255 heads, 63 sectors/track, 2293 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000

Disk /dev/mapper/vg_rhel6x64-lv_swap: 2080 MB, 2080374784 bytes

255 heads, 63 sectors/track, 252 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000

Disk /dev/sdb: 42.9 GB, 42949672960 bytes

255 heads, 63 sectors/track, 5221 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000

Disk /dev/sdc: 21.5 GB, 21474836480 bytes

255 heads, 63 sectors/track, 2610 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000

[[email protected]_storage ~]# mkfs.ext4 /dev/sdc

mke2fs 1.41.12 (17-May-2010)

/dev/sdc is entire device, not just one partition!

无论如何也要继续? (y,n) y

文件系统标签=

操作系统:Linux

块大小=4096 (log=2)

分块大小=4096 (log=2)

Stride=0 blocks, Stripe width=0 blocks

1310720 inodes, 5242880 blocks

262144 blocks (5.00%) reserved for the super user

第一个数据块=0

Maximum filesystem blocks=4294967296

160 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

正在写入inode表: 完成

Creating journal (32768 blocks): 完成

Writing superblocks and filesystem accounting information: 完成

This filesystem will be automatically checked every 31 mounts or

180 days, whichever comes first.  Use tune2fs -c or -i to override.

[[email protected]_storage ~]# mount /dev/sdc /mnt

[[email protected]_storage ~]# cd /mnt

[[email protected]_storage mnt]# ls

lost+found

[[email protected]_storage mnt]# fdisk /dev/sdc

Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel

Building a new DOS disklabel with disk identifier 0xaed63d20.

Changes will remain in memory only, until you decide to write them.

After that, of course, the previous content won‘t be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

WARNING: DOS-compatible mode is deprecated. It‘s strongly recommended to

switch off the mode (command ‘c‘) and change display units to

sectors (command ‘u‘).

Command (m for help): p

Disk /dev/sdc: 21.5 GB, 21474836480 bytes

255 heads, 63 sectors/track, 2610 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0xaed63d20

Device Boot      Start         End      Blocks   Id  System

Command (m for help): d

No partition is defined yet!

Command (m for help): q

可以看到 /dev/sdc 没有分区,直接mkfs 后 ,mount到了 /mnt  ,并且可以使用,同时用fdisk /dev/sdc 查看,里面是没有分区的。。

4.回答3

看你的操作是这样的,但我从没这么用过,更不清楚原因,坐等高手。

这样是不是连分区表也省了啊,不知道会不会有什么不良后果

5.回答4

我们常用硬盘, 有一块区域叫 MBR(传统), 它一般是在硬盘0柱0面1扇区, 差不多512字节. 其实前446字节是真正的MBR, 或者叫 主引导记录. 后面的 64字节就是分区表(MBR分区表), 最后两个字节是55AA(这是MBR结束标志).

由于只有64字节的分区表, 所以, 在MBR结构的分区表中, 只能有4个主分区(每条记录16字节), 也限制了每个分区的最大大小(2T).所以, 超过2T的硬盘, 要使用 GPT的分区表, 关于GPT的分区表, 我没有研究过, 如果有哪位有相关的信息, 我也学习一下.

对于一般的使用, 硬盘应该是先分区(至少一个分区), 如果直接使用整个硬盘(没有分区, 我不是太确定是不是会把MBR也一起干掉, 也就是硬盘从第1扇区就开始用了. 楼主可以 把你的硬盘的前512字节dd到一个文件里, 然后 hexdump -C ufile, 可以查到最后两个字节是不是 55AA或者  AA55.

6.回答5

你的硬盘被当作循环设备处理了,也就是有文件系统但没有分区,像DVD,CD 一样。 用PARTED可以看到PARTITION TABLE TYPE: LOOP

7.回答6

如果不分区直接使用的话,MBR区域都是都是0,且新的写入也不会占用这一扇区,当然这样使用的,通过fdisk -l 查看是没有硬盘标示符的。因为最后没有55AA

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

时间: 2024-10-08 15:58:10

Linux中直接挂载硬盘和挂载分区有什么区别?的相关文章

Linux中ctrl+z 、ctrl+c、 ctrl+d区别

ctrl+c,ctrl+d,ctrl+z在linux中意义和区别 ctrl+c和ctrl+z都是中断命令,但是他们的作用却不一样. ctrl+c是强制中断程序的执行. ctrl+z的是将任务中断,但是此任务并没有结束,他仍然在进程中他只是维持挂起的状态,用户可以使用fg/bg操作继续前台或后台的任务,fg命令重新启动前台被中断的任务,bg命令把被中断的任务放在后台执行. 例如:当你vi一个文件是,如果需要用shell执行别的操作,但是你又不打算关闭vi,因为你得存盘推出,你可以简单的按下ctrl

Linux系统添加新硬盘,并分区设置启动自动挂载,图文教程!

虚拟机添加硬盘的步骤就不多废话了,主要列出添加硬盘后要进行设置的几个详细步骤: 1.查看磁盘信息:fdisk -ls 添加前如下图所示: 添加后如下图: 也可以用:ls /dev/sd*查看,如下图: 2.磁盘分区: 磁盘识别成功后,用gdisk命令进行分区:gdisk /dev/sdb 执行后就进入了gdisk的交互式命令行,输入p,回车后就能看到硬盘详细信息了,如下图所示: 若创建多个分区,用创建分区的命令n,输入回车后,选择分区编号(默认从1开始),输入1,回车 我这里只设置一个默认分区1

在linux中以cifs的方式挂载windows共享文件夹

假设winddows机器IP为1.1.1.1 ,已将d:\source目录共享,共享名为src.此系统中有用户user1. linux系统下的用户user2希望将其挂载到 /home/user2/src2目录中. 那么执行下面命令即可. sudo mount -t cifs -ouser=user1,nolock,nounix,noserverinfo,noserverino //1.1.1.1/src /home/user2/src2 为了自动得到window机器的ip,如下即可(SUSE上测

在linux中添加新硬盘并创建LVM组

1.以虚拟机为例,给虚拟机添加一块新硬盘,并创建LVM组,将新硬盘用于存放oracle数据库文件. 2.fdisk -ll查看新添加的硬盘是否被识别,如图已经识别出sdb. 3.# vcreate /dev/sdb    (创建PV,相当于win中将基础磁盘转换为动态磁盘) 4.# vgcreate oracle_vg /dev/sdb (创建VG,创建虚拟卷组,win中无此概念) 5.# lvcreate -l +100%free oracle_vg -n oracle_lv  (创建LV,L

Linux中fork,vfork和clone详解(区别与联系)

fork,vfork,clone Unix标准的复制进程的系统调用时fork(即分叉),但是Linux,BSD等操作系统并不止实现这一个,确切的说linux实现了三个,fork,vfork,clone(确切说vfork创造出来的是轻量级进程,也叫线程,是共享资源的进程) 系统调用 描述 fork fork创造的子进程是父进程的完整副本,复制了父亲进程的资源,包括内存的内容task_struct内容 vfork vfork创建的子进程与父进程共享数据段,而且由vfork()创建的子进程将先于父进程

linux中which和whereis、loacte、find的区别

1,which在当前环境变量PATH中依此查找 一般用于查找命令/可执行文件所在路径 2,whereis   返回与名称匹配的二进制文件,源文件,帮助文件, 使用之前可以用updatadb命令来更新数据库 3,locate 跟whereis一样,也是从数据库建立的索引中查找,跟whereis不用的是,locate 查找所有匹配的文件, 使用之前可以用updatadb来更新数据库 4,find命令在整个磁盘遍历查找,所以比 whereis   locate要慢,很耗费资源 能用前三个的,就不要用f

树莓派/Debian 挂载硬盘

前言 在 Linux 中要使用 Samba 文件协议来实现 NAS 配置,首先要挂载硬盘.本文来简述如何在 Linux 中来挂载硬盘. 格式化 将硬盘插入到主机对应接口. 查看硬盘信息 fdisk -l 可以看到插入的硬盘 /dev/sdb1 的文件系统类型为:FAT32 (LBA) . 格式化硬盘 使用 fdisk 命令对 /dev/sdb1 进行分区 fdisk /dev/sdb1 具体过程如下: [email protected]:/home/yogile# fdisk /dev/sdb1

Linux中的磁盘

Linux的磁盘管理 (很重要请注意高能预警) 硬盘:几个盘片,双面,磁性颗粒, 处理速率不同步:借助于一个中间层 文件系统(FileSystem)     可以实现对磁盘行的文件进行读写     文件系统其实就是一个特殊软件,是直接安装到硬盘上的 硬盘分类     机械硬盘:         盘片组,磁头,磁头臂         马达.空气过滤片     固态硬盘         类似与内存的结构 机械硬盘简介     磁道(Track):磁盘旋转时候的同心圆,磁道编号从外向内,从0开始编号.

linux中的设备名称和设备号

看赵炯博士的<linux 0.11 源代码注释>已经两三周了,从今天起开始将一些个人总结和感悟分小标题写出来,聊作记忆以供后来查看.在linux0.11源码的 /linux/boot/bootsect.s中,有一个标号定义ROOT_DEV ! ROOT_DEV: 0x000 - same type of floppy as boot.! 0x301 - first partition on first drive etcROOT_DEV = 0x306 这里,ROOT_DEV是系统指定的根文件