Chinaunix

标题: fdisk重新分区后要求重启,重启时无法启动 [打印本页]

作者: 一点萤火    时间: 2015-05-03 01:23
标题: fdisk重新分区后要求重启,重启时无法启动
大家好,我在用fdisk删除新增分区时遇到些问题,内核无法重新取得分区表信息,用partprobe没有解决,重启也没有解决,详细情况如下,恳求大家帮我解答一下。比较长,谢谢大家有耐心看完。
我用fdisk p查到的原始分区情况如下;
  Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          38      305203+  83  Linux
/dev/sda2              39        4960    39535965   83  Linux
/dev/sda3            4961        5221     2096482+  82  Linux swap / Solaris

我想新增加一个分区,就把/dev/sda2删除了,新增分区情况如下:
Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          38      305203+  83  Linux
/dev/sda2              39         525     3911827+  83  Linux
/dev/sda3            4961        5221     2096482+  82  Linux swap / Solaris
/dev/sda4             526        4960    35624137+   5  Extended
/dev/sda5             526        1012     3911796   83  Linux

执行w后
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: Device or resource busy.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.

于是我按照鸟哥的做法用了# partprobe,结果出现一大堆警告,要求重启。第一次我就乖乖重启了,结果不行,重启的时候卡在了下图所在的位置

重装系统后重新做这个练习,新增分区后我没有立马重启,而是想把新增的分区格式化,结果却是这样
/dev/sda2 is mounted; will not make a filesystem here!
那我就去卸载,umount后却显示设备正忙,百度后说可以用lsof或者fuser找到正在使用这个文件的进程并结束进程。我试了lsof,结果什么也没显示出来
[root@localhost ~]# lsof /dev/sda2
[root@localhost ~]#

我再试fuser,也是什么都没显示
[root@localhost ~]# fuser -k  /dev/sda2
[root@localhost ~]#

再试fuser -m -k,出来一大串数字,接着我的终端就自动关闭了,系统直接回到了用户登陆页,我连截屏都没来得及。。。。
用fuser -m 结果里也没有出现如大神所说的PID的内容。
我没办法,重启试试运气吧,还是重启不了。这帖子里的命令行还是我重装系统后情景重现的结果。

本人还是菜鸟一名,刚开始学Linux,也可能是我所学习的知识不成体系,所以遇到这种问题自己操作一遍还是找不到答案,已经折腾了2天了,这坎过不去心里难受,恳求各位帮我分析一下问题出在哪里,要怎么操作,万分感谢!





作者: w564791    时间: 2015-05-03 07:25
sda2的使用情况呢?我也是看的鸟哥的书,很明确的说了分区有数据要谨慎,你删除分区之前至少要看看分区的使用情况啊,你这个sda2里面有什么都不知道,怎么能乱动呢
作者: w564791    时间: 2015-05-03 07:36
报错报的sda2,说明之前的sda2挂载有系统目录,删除分区之前看看分区挂载情况,骚年,你这是在瞎搞啊,,
作者: 一点萤火    时间: 2015-05-03 09:09
回复 3# w564791


    sda2确实是挂载在根目录上的,那种情况要怎么新建一个分区呢,可以把sda2里的数据拷贝到其他分区然后再删除吗?
作者: w564791    时间: 2015-05-03 09:15
理论上你可以把根目录挂载到其它地方去,前提是你要会弄,我也不会,囧,删除分区的时候如果是空的分区自然是随便删,如果你用的虚拟机那再虚拟一块硬盘加进去就是了
作者: lyhabc    时间: 2015-05-03 14:23
本帖最后由 lyhabc 于 2015-05-03 14:24 编辑

根分区在/dev/sda2   ,重要数据都在/dev/sda2   ,你却把/dev/sda2   xxxxxxx。。。。。。
改变根目录可以使用
chroot命令
但是你没有备用盘是很危险的,一般不够空间,你只能再加一块盘,无论是公司的服务器还是你在家里玩虚拟机
解决umount的时候文件系统被占用的两个命令 fuser 和 lsof
http://blog.chinaunix.net/uid-21288388-id-4931928.html

也可以考虑使用lvm,加减磁盘空间都可以,不过lvm有一个缺点就是如果你的真的误删数据,到数据恢复公司恢复lvm里面的数据比起不用lvm要麻烦一些
不过一般公司都有用lvm,这个你不用担心,比如我们公司都用lvm,因为确实方便,磁盘空间不够不需要转移数据

LVM的一些问题汇总
http://blog.chinaunix.net/uid-21288388-id-4925658.html





作者: lyhabc    时间: 2015-05-03 15:02
试一试这个

确定主机总线号,磁盘是有总线连接着的
[root@steven ~]# ls /sys/class/scsi_host/
host0 host1 host2


重新扫描SCSI总线来添加设备
[root@steven ~]# echo "- - -" > /sys/class/scsi_host/host0/scan
[root@steven ~]# echo "- - -" > /sys/class/scsi_host/host1/scan
[root@steven ~]# echo "- - -" > /sys/class/scsi_host/host2/scan

作者: 一点萤火    时间: 2015-05-03 15:15
回复 7# lyhabc


    等下班回家试试你说的方法。
作者: 一点萤火    时间: 2015-05-04 09:36
回复 6# lyhabc


    用虚拟机的设置选项新增加了一个硬盘,但是用fdisk找不到,重启也没找到是怎么回事啊
作者: lyhabc    时间: 2015-05-04 12:52
@一点萤火
试一下这个
不用重启在CentOS / RHEL 虚拟机中添加一块新硬盘
http://blog.chinaunix.net/uid-21288388-id-4928598.html
作者: 一点萤火    时间: 2015-05-04 23:22
回复 10# lyhabc


    新增硬盘我在关闭Linux的情况下在虚拟机上增加的,开机后就能用fdisk找到新的硬盘了,然后新增分区、删除分区、重载分区表、格式化等等都能实现了。不过还有个问题,我早上把这些都做好,心想应该没问题了就关机了,结果晚上回家打开用fdisk -l 查看分区,结果显示新增的分区/dev/sdb没有有效分区,这我就搞不懂了,我明明做了的,而且用了w也没有显示任何错误和警告,请问这又是怎么回事呢?
作者: lyhabc    时间: 2015-05-04 23:31
没有有效分区????
能截图上来吗
作者: 一点萤火    时间: 2015-05-04 23:43
回复 12# lyhabc


    开机后打开终端用fdisk- l就是下面的结果
[root@localhost ~]# 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          38      305203+  83  Linux
/dev/sda2              39        2349    18563107+  83  Linux
/dev/sda3            2350        2610     2096482+  82  Linux swap / Solaris

Disk /dev/sdb: 19.3 GB, 19327352832 bytes
255 heads, 63 sectors/track, 2349 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdb doesn't contain a valid partition table

作者: lyhabc    时间: 2015-05-05 09:22
会不会分区的时候有问题,这种问题还未碰到过




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2