linux磁盘重新挂载?
发布网友
发布时间:2022-04-25 17:57
我来回答
共4个回答
热心网友
时间:2022-06-21 22:25
VMware虚拟机中,Linux系统下挂载、卸载新硬盘的方法
装载:
1、启动vm,选择vm->Settings,按向导添加一块SCSI磁盘。进入Linux系统。
2、 fdisk -l 会看到有一块新的设置,如果你先前有一块硬盘(sda1, sda3...),新加的这块应该是(/dev/sdb)。 (如果添加的第二块硬盘是IDE硬盘,应该看到hdb,如果是SCSI硬盘,看到的就是应该sdb)
[root@localhost ~]# fdisk -l
Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda3 14 1044 8281507+ 83 Linux
Disk /dev/sdb: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sdb doesn't contain a valid partition table
3、分区:
[root@localhost ~]# fdisk /dev/sdb
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 1044.
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 ##在这里按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
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) ##扩展应用,专家功能;
Command (m for help): n
Command action
e extended ##扩展分区
p primary partition (1-4) ##选p建主分区
p
Partition number (1-4): 1
First cylinder (1-17849, default 1): ##注:这个就是分区的Start 值;这里最好直接按回车,如果你输入了一个非默认的数字,会造成空间浪费;
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-17849, default 17849): 8920
Using default value 500
##这个是定义分区大小的,+200M 就是大小为200M ;当然你也可以根据上面提示的单位cylinder的大小来算,然后来指定 End的数值,在fdisk –l命令中可以看到Units = cylinders of 16065 * 512 = 8225280 bytes,这个就是单位cylinder的大小,我这里选的End的数值是8920,正好是总大小的一半,71G左右
##然后再来建一个主分区
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (8921-17849, default 8921):8921
Using default value 8921
Last cylinder or +size or +sizeM or +sizeK (8921-17849, default 17849):17849
Using default value 17849
##最后保存并退出,切记,一定要保存,不然不会生效的。
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
##使用fdisk –l命令来查看磁盘状况:
[root@localhost ~]# fdisk -l
Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda3 14 1044 8281507+ 83 Linux
Disk /dev/sdb: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 8920 71649868+ 83 Linux
/dev/sdb2 8921 17849 71722192+ 83 Linux
##磁盘/dev/sdb已经被划分为2个分区,每个分区大小大概是71G左右。
##在挂载文件系统之前,需要将/dev/sdb1和/dev/sdb2重新用mkfs -t ext3 命令格式化一下,否则在挂载时会报错。
4、格式化分区:使用mkfs.ext3 /dev/sdb命令格式化磁盘 注:也可以使用mkfs -t ext3 /dev/sdb命令
[root@localhost ~]# mkfs -t ext3 /dev/sdb1 ##指将该磁盘格式化成ext3文件系统
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
1048576 inodes, 2096474 blocks
104823 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2147483648
64 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 31 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
补充:挂载
挂载文件系统,目前有两种方法:
一是通过 mount 来挂载,使用mount挂载系统,一旦系统重启之后就需要重新挂载。
二是通过/etc/fstab文件来开机自动挂载。
我把/dev/sdb1挂载到/test下
[root@localhost ~]# mkdir /test ## 首先建立挂载的目录test
(或者[root@localhost ~]# cd /
[root@localhost ~]# mkdir test
)
[root@localhost ~]# df –h ##挂载前的分区
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
6.7G 5.8G 576M 92% /
/dev/sda1 99M 12M 82M 13% /boot
tmpfs 233M 0 233M 0% /dev/shm
[root@localhost ~]# mount /dev/sdb1 /test
[root@localhost ~]# df –h ##挂载后的分区
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
6.7G 5.8G 576M 92% /
/dev/sda1 99M 12M 82M 13% /boot
tmpfs 233M 0 233M 0% /dev/shm
/dev/sdb1 7.9G 147M 7.4G 2% /test
6、通过/etc/fstab文件来开机自动挂载(不然重启电脑后系统将不会保存之前的挂载操作):
[root@localhost ~]# vi /etc/fstab
/dev/VolGroup00/LogVol00 / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
devpts /dev/pts devpts gid=5,mode=620 0 0
tmpfs /dev/shm tmpfs defaults 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
/dev/VolGroup00/LogVol01 swap swap defaults 0 0
/dev/sdb1 /test ext3 defaults 1 1
/dev/sdb2 /test ext3 defaults 1 1
# Beginning of the block added by the VMware software
.host:/ /mnt/hgfs vmhgfs defaults,ttl=5 0 0
# End of the block added by the VMware software
第一字段:设备名,在这里表示是文件系统; 有时我们把挂载文件系统也说成挂载分区;
第二字段:文件系统的挂载点;
第三字段:文件系统类型;
第四字段:mount 命令的选项,和mount 中的-o 同理;defaults包括这些选项 rw, suid, dev, exec, auto, nouser, async;
第五字段:表示文件系统是否需要mp 备份,1是需要,0 是不需要;
第六字段: 是否在系统启动时,通过fsck磁盘检测工具来检查文件系统,1是需要,0是不需要,2是跳过;
卸载:
[root@localhost ~]# umount /dev/sdb1
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
6.7G 5.8G 576M 92% /
/dev/sda1 99M 12M 82M 13% /boot
tmpfs 233M 0 233M 0% /dev/shm
补充知识:
1. mount可以用来挂载什么:
不同的操作系统使用不同的文件系统格式。MS-DOS支持FAT16文件系统,Windows98支持FAT16、FAT32文件系 统,WindowsNT支持FAT16、NTFS文件系统,Windows2000则支持FAT16、FAT32、NTFS三种文件系统格式,现在的xp 可以支持FAT32,NTFS,现在最新版本的windows 7 引入了新的WinFS文件系统。 而 Linux差不多支持所有的文件系统格式,但一般使用ext2或ext3文件系统。很多用户使用的是windows操作系统,如果想在运行的Linux下 访问其它文件系统中的资源的话,就要用Linux mount命令来实现。
2. mount使用格式:
mount命令[-参数] [设备名称] [挂载点]
说明:
[挂载点]必须是一个已经存在的目录,这个目录可以不为空,但挂载后这个目录下以前的内容将不可用,umount以后会恢复正常。
[设备名称] 可以是一个分区,一个usb设备,光驱,软盘,网络共享等。
常见参数说明:
Mount 挂载文件系统使用帮助
参数 说明
挂载指定的设备类型:adfs, affs, autofs, coda, coherent, cramfs,
devpts, efs, ext, ext2, ext3, hfs, hpfs, iso9660, jfs, minix,
msdos, ncpfs, nfs, nfs4, ntfs, proc, qnx4, ramfs, reiserfs,
romfs, smbfs, sysv, tmpfs, udf, ufs, umsdos, vfat, xenix, xfs,
xiafs
一般文件类型,可以不需要指定就可以有相同自动检测(adfs, bfs,
cramfs, ext, ext2, ext3, hfs, hpfs, iso9660, jfs, minix, ntfs,
qnx4, reiserfs, romfs, udf, ufs, vxfs, xfs, xiafs 等文件系统),如
果探测失败,就将访问/etc/filesystems ,以指定文件系统探测。说
明:如果清楚文件系统,最好指定具体类型。探测错误将带来灾难性
的。
多个文件系统可以用“,”分割开来.
-t vfstype mount -a -t nomsdos,ext
将挂载fstab文件指定所有的文件系统,除了类型为 msdos 和 ext 的
那一些。
热心网友
时间:2022-06-21 22:26
1. 将 /usr 里的所有文件 完全 复制到 空分区中。注意软硬链接文件的问题。 可使用 cp -a 命令。 如果新分区够大,建议 采取压缩再释放的方法。cd /usr ; tar cvf (/新分区挂在目录/usr.tar) . ;cd /新分区挂在目录 ;tar xvf usr.tar -C .
2.安全起见,不要删除原来的 /usr 目录,建议改名,比如usr_ ,新建 /usr 文件夹
3.修改 /etc/fstab 文件,新建 挂载规则,/usr 新分区 ..........(详细的可参考 fstab 的帮助文件)
热心网友
时间:2022-06-21 22:26
还有一个偏门方法:
使用 aufs 或者 unionfs 绑定一个新的分区。这样新的文件就自动被转到新分区上建立。旧文件还在原来的分区上。
但玩这个需要一定的技术。如果楼主有闲心,可以试试。
我建议转换分区的时候。直接用 mv 把 /usr 的老文件转移到新的分区上。转移的时候可以先把新的 usr 分区挂载到一个临时的目录上,比如 /mnt/temp 。
注意这么操作之前先修改好 /etc/fstab 。之后到纯文本状态下(如果可以用 LiveCD )进行移动,之后立即重启。不然系统可能会找不到重要的文件而挂掉。
热心网友
时间:2022-06-21 22:27
这种情况我建议直接调分区大小
因为把/usr移走就剩不下多少东西了