Chinaunix首页 | 论坛 | 博客
  • 博客访问: 872281
  • 博文数量: 366
  • 博客积分: 10267
  • 博客等级: 上将
  • 技术积分: 4290
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-24 14:04
文章分类

全部博文(366)

文章存档

2012年(366)

分类: 系统运维

2012-04-26 20:50:40

前几天装上了从淘宝买来的光驱位硬盘盒,我也就把光驱废掉了换成了一个硬盘,这样Ubuntu和win7可以开机的时候切换了。
因为我在两个硬盘上分别装的系统,而不是一个硬盘上双系统。

但是问题来了,ubuntu下不会像插u盘那样自动挂载硬盘。那么怎么办?

首先,我们应该看看硬盘的情况,比如分区这些。

复制代码
1 huangjacky@huangjacky-laptop:~$ sudo fdisk -l 2 [sudo] password for huangjacky: 3 omitting empty partition (5) 4 5 Disk /dev/sda: 500.1 GB, 500107862016 bytes 6 255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors 7 Units = sectors of 1 * 512 = 512 bytes 8 Sector size (logical/physical): 512 bytes / 512 bytes 9 I/O size (minimum/optimal): 512 bytes / 512 bytes 10 Disk identifier: 0x95b895b8 11 12 Device Boot Start End Blocks Id System 13 /dev/sda1 * 63 102414374 51207156 7 HPFS/NTFS/exFAT 14 /dev/sda2 102414436 976768064 437176814+ f W95 Ext'd (LBA) 15 /dev/sda5 102414438 348176744 122881153+ 7 HPFS/NTFS/exFAT 16 /dev/sda6 348176808 593939114 122881153+ b W95 FAT32 17 /dev/sda7 593939178 802671659 104366241 7 HPFS/NTFS/exFAT 18 /dev/sda8 802671723 874032389 35680333+ 7 HPFS/NTFS/exFAT 19 /dev/sda9 874032453 976768064 51367806 7 HPFS/NTFS/exFAT 20 21 Disk /dev/sdb: 80.0 GB, 80026361856 bytes 22 255 heads, 63 sectors/track, 9729 cylinders, total 156301488 sectors 23 Units = sectors of 1 * 512 = 512 bytes 24 Sector size (logical/physical): 512 bytes / 512 bytes 25 I/O size (minimum/optimal): 512 bytes / 512 bytes 26 Disk identifier: 0xe445604b 27 28 Device Boot Start End Blocks Id System 29 /dev/sdb1 * 2048 148301823 74149888 83 Linux 30 /dev/sdb2 148303870 156299263 3997697 5 Extended 31 /dev/sdb5 148303872 156299263 3997696 82 Linux swap / Solaris
复制代码

可以看见sda是我win7的硬盘分区,那么接下来就是挂载。

1 huangjacky@huangjacky-laptop:~$ sudo mount /dev/sda1 /mnt/win_c

这个命令将/dev/sda1分区挂载到指定的目录,那么我们打开这个目录就是打开win7系统的C盘了。

卸载:

1 huangjacky@huangjacky-laptop:~$ sudo umount /mnt/win_c

手动操作就是这样,那么我们有这么多个盘,每次都这样操作岂不是很麻烦?

所以这里我们需要编写一个sh脚本。

复制代码
1 #! /bin/sh 2 # 挂载所有的硬盘到指定目录、 3 mymount() 4 { 5 echo "check and create mount directory!" 6 if [ ! -d "/mnt/win_c" ] 7 then 8 mkdir /mnt/win_c 9 fi 10 11 if [ ! -d "/mnt/win_d" ] 12 then 13 mkdir /mnt/win_d 14 fi 15 16 if [ ! -d "/mnt/win_e" ] 17 then 18 mkdir /mnt/win_e 19 fi 20 21 if [ ! -d "/mnt/win_f" ] 22 then 23 mkdir /mnt/win_f 24 fi 25 26 if [ ! -d "/mnt/win_g" ] 27 then 28 mkdir /mnt/win_g 29 fi 30 31 if [ ! -d "/mnt/win_h" ] 32 then 33 mkdir /mnt/win_h 34 fi 35 36 echo "start mount win disk!!" 37 mount /dev/sda1 /mnt/win_c 38 mount /dev/sda5 /mnt/win_d 39 mount /dev/sda6 /mnt/win_e 40 mount /dev/sda7 /mnt/win_f 41 mount /dev/sda8 /mnt/win_g 42 mount /dev/sda9 /mnt/win_h 43 echo "mount over!Have fun" 44 } 45 46 myumount() 47 { 48 echo "start umounting win disk!!" 49 umount /mnt/win_c 50 umount /mnt/win_d 51 umount /mnt/win_e 52 umount /mnt/win_f 53 umount /mnt/win_g 54 umount /mnt/win_h 55 echo "all down bye!" 56 } 57 58 echo "mount or umount win disk?please type m/u" 59 read M_U 60 # echo $M_U 不再需要打印字符了 61 if [ "$M_U" = "m" ]; then 62 mymount 63 else 64 myumount 65 fi
复制代码

shel l脚本需要注意的地方就是if这个条件这里[]和then要是在同一行那么就得加上;,还有就是 中间的判断要和中括号有空格,比如[ 判断条件 ],有一次我就是少了个空格,代码一直错,还找不到问题在什么地方。

下过如下:

复制代码
1 huangjacky@huangjacky-laptop:~$ sudo sh ~/game/mountwin.sh 2 mount or umount win disk?please type m/u 3 m 4 check and create mount directory! 5 start mount win disk!! 6 mount over!Have fun
复制代码
阅读(1587) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~