• 为虚拟机添加虚拟磁盘


    下面主要是关于虚拟磁盘添加到虚拟机之后,如何分区和格式化的过程。

    磁盘分区

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    evans@master:/dev$ sudo fdisk -l
     
    Disk /dev/sda: 42.9 GB, 42949672960 bytes
    255 heads, 63 sectors/track, 5221 cylinders, total 83886080 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x000b5cfd
     
       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1   *        2048    81788927    40893440   83  Linux
    /dev/sda2        81790974    83884031     1046529    5  Extended
    /dev/sda5        81790976    83884031     1046528   82  Linux swap / Solaris
     
    Disk /dev/sdb: 64.4 GB, 64424509440 bytes
    255 heads, 63 sectors/track, 7832 cylinders, total 125829120 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x00000000
     
    Disk /dev/sdb doesn't contain a valid partition table

    /dev/sdb 就是新增的磁盘,上面还没有任何分区信息,下面来着手分区。由于是第二块磁盘,且我的需求也比较简单,直接在上面建立一个分区就可以了。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    evans@master:/dev$ sudo fdisk /dev/sdb
    Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
    Building a new DOS disklabel with disk identifier 0xf1dfadb5.
    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)
     
    # 查看已经的分区信息,现在还没有,所以下面的列表也是空的
    Command (m for help): p
     
    Disk /dev/sdb: 64.4 GB, 64424509440 bytes
    255 heads, 63 sectors/track, 7832 cylinders, total 125829120 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0xf1dfadb5
     
       Device Boot      Start         End      Blocks   Id  System
     
    # 建立新分区
    Command (m for help): n
    Partition type:
       p   primary (0 primary, 0 extended, 4 free)
       e   extended
     
    # 先了一个主分区,开始和结束的扇区用的都是默认值,直接回车就好了
    Select (default p): p
    Partition number (1-4, default 1): 1
    First sector (2048-125829119, default 2048):
    Using default value 2048
    Last sector, +sectors or +size{K,M,G} (2048-125829119, default 125829119):
    Using default value 125829119
     
    # 分区建立好后,再次查看分区信息,列表中就多了一项 /dev/sdb1
    Command (m for help): p
     
    Disk /dev/sdb: 64.4 GB, 64424509440 bytes
    255 heads, 63 sectors/track, 7832 cylinders, total 125829120 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0xf1dfadb5
     
       Device Boot      Start         End      Blocks   Id  System
    /dev/sdb1            2048   125829119    62913536   83  Linux
     
    # 将分区信息写入磁盘。如果不做这一步就直接退出的话,以上操作将全部无效。
    Command (m for help): w
    The partition table has been altered!
     
    Calling ioctl() to re-read partition table.
    Syncing disks.

    完成分区操作后,我们再来看看磁盘上的变化:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    evans@master:/dev$ sudo fdisk -l
     
    Disk /dev/sda: 42.9 GB, 42949672960 bytes
    255 heads, 63 sectors/track, 5221 cylinders, total 83886080 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x000b5cfd
     
       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1   *        2048    81788927    40893440   83  Linux
    /dev/sda2        81790974    83884031     1046529    5  Extended
    /dev/sda5        81790976    83884031     1046528   82  Linux swap / Solaris
     
    Disk /dev/sdb: 64.4 GB, 64424509440 bytes
    128 heads, 39 sectors/track, 25206 cylinders, total 125829120 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0xf1dfadb5
     
       Device Boot      Start         End      Blocks   Id  System
    /dev/sdb1            2048   125829119    62913536   83  Linux

    最后一行,表明分区信息已经写入成功。第一将使用 fdisk -l 时,显示的信息表示 /dev/sdb 上没有有效的信息,这次有了。分区完成后,接着就开始格式化磁盘。

    磁盘格式化

    查看已有磁盘的格式,为了保持一致,新磁盘也采用同样的格式

    1
    2
    3
    4
    5
    6
    7
    evans@master:/dev$ df -T
    Filesystem     Type     1K-blocks     Used Available Use% Mounted on
    /dev/sda1      ext4      40251776 30332612   7874492  80% /
    udev           devtmpfs   2053336        4   2053332   1% /dev
    tmpfs          tmpfs       824260      840    823420   1% /run
    none           tmpfs         5120        0      5120   0% /run/lock
    none           tmpfs      2060648     1412   2059236   1% /run/shm

    已有磁盘 /dev/sda1 用的是 ext4 ,新磁盘也采用同样的格式。

    1
    sudo mkfs -t ext4 /dev/sdb1

    格式化完成后,磁盘就准备就绪了。但是这个磁盘必需“加载”后,才能够被使用。感觉就像是,在一个孤岛上建立一个房子,但人们却无法去使用。加载的过程,就如果是将孤岛与大陆连接起来。

    加载磁盘

    先临时加载磁盘,非常简单

    1
    2
    sudo mkdir /android
    sudo mount /dev/sdb1 /android

    好了,加载完成。现在,在 /android 目录下建立的所有文件,都将被存储在新的磁盘上。但是一旦系统重启,你又得重新加载一次了。如果觉得麻烦,那么就往下看看怎么自动加载。

    自动加载磁盘

    自动加载是指在系统启动后,由操作系统来自动完成磁盘的加载。你的第一块磁盘 /dev/sda1 就是这样被加载的,安装操作系统时,这一步已经由安装程序顺便做了,现在我们自己来做。当然,过程也是简单的,只需要修改一下/etc/fstab 。

    查看磁盘的UUID

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    evans@master:~$ sudo df -h
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sda1        39G   29G  7.6G  80% /
    udev            2.0G   12K  2.0G   1% /dev
    tmpfs           805M  844K  805M   1% /run
    none            5.0M     0  5.0M   0% /run/lock
    none            2.0G  1.4M  2.0G   1% /run/shm
    /dev/sdb1        60G  180M   56G   1% /home/evans/codebase/android   ## 记下路径
     
    evans@master:~$ sudo blkid
    /dev/sda1: UUID="6314c61b-4ba2-43b6-933a-8575f69f93b5" TYPE="ext4"
    /dev/sda5: UUID="5609fe6e-3a96-4fa5-924e-be18161f439c" TYPE="swap"
    /dev/sdb1: UUID="842afa50-6a3c-4910-862d-c662c37bf081" TYPE="ext4"   ## 记下UUID
     
    evans@master:~$ sudo vi /etc/fstab
     
      9 # / was on /dev/sda1 during installation
     10 UUID=6314c61b-4ba2-43b6-933a-8575f69f93b5 /               ext4    errors=remount-ro 0       1
     
    # 将第10行复制然后再粘贴,再对其进行修改。
    # 需要修改的内容有两处
    # 一处是UUID,用上面的UUID进行替换
    # 二是路径,将 / 替换为上面的自己的路径
     
      9 # / was on /dev/sda1 during installation
     10 UUID=6314c61b-4ba2-43b6-933a-8575f69f93b5 /               ext4    errors=remount-ro 0       1
     11
     12 # /home/evans/codebase/android on /dev/sdb1 during installation
     13 UUID=842afa50-6a3c-4910-862d-c662c37bf081 /home/evans/codebase/android               ext4    errors=remount-ro 0       1
  • 相关阅读:
    JavaScript 中的面向对象编程
    LINUX --- echo修改GPIO状态
    Ubuntu安装海思SDK(转)
    一个C++版本的Sqlite3封装--SmartDb
    分享一个内网穿透工具frp
    opencv图片缩放与镜像
    和菜鸟一起学linux之DBUS基础学习记录(转)
    谈谈嵌入式系统中多进程设计与进程通信
    高效c/c++日志工具zlog使用介绍
    udevd启动失败问题
  • 原文地址:https://www.cnblogs.com/ungshow/p/3514942.html
Copyright © 2020-2023  润新知