zoukankan      html  css  js  c++  java
  • Shell 挂载硬盘

    前几天装上了从淘宝买来的光驱位硬盘盒,我也就把光驱废掉了换成了一个硬盘,这样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
  • 相关阅读:
    Another mysql daemon already running with the same unix socket
    cloud maintenance of OpenNebula
    内核分析阅读笔记
    eucalyptus,openNebula云构建漫谈
    quotation
    Adress
    cos
    COS回应7大质疑
    linux内核地址mapping
    开源 免费 java CMS
  • 原文地址:https://www.cnblogs.com/huangjacky/p/2468332.html
Copyright © 2011-2022 走看看