如何添加额外的硬盘?

N.N*_*.N. 110 hard-drive

我将在我的系统中放置一个额外的(非 USB)硬盘驱动器。我已经在我的另一个硬盘上安装了 Ubuntu,所以我不想在额外的驱动器上安装 Ubuntu,而只是将它用于存储。如何将额外的硬盘驱动器添加到我的 Ubuntu 系统,例如让 Ubuntu 识别它并正确安装它?

And*_*ovs 100

1 分区

最简单且用户友好的方法可能是gparted在安装新硬盘并启动机器后使用:

sudo gparted
Run Code Online (Sandbox Code Playgroud)

然后通过设置它们的大小和类型来创建分区。
提示:由于您的硬盘驱动器是额外的存储空间,您可能希望创建一个类型为ext4.

gparted 的截图

gparted 是一个非常易于使用的工具,但非常先进。

2 安装

创建完分区后(很可能它只是一个ext4数据分区,因为这是您的附加存储驱动器),您需要永久安装它。

在这一步你已经知道你的新分区(-s)有什么名字。如果不确定,以下命令将提醒您有关现有驱动器和分区的信息:

sudo fdisk -l
Run Code Online (Sandbox Code Playgroud)

这将输出如下内容(有意跳过/dev/sda系统驱动器信息):

Disk /dev/sda: 250.1 GB, 250059350016 bytes
....

Disk /dev/sdb: 2000.4 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x000814e3

   Device Boot      Start         End      Blocks   Id  Syste
/dev/sdb1               1      243201  1953512001   83  Linux
Run Code Online (Sandbox Code Playgroud)

输出状态,您的新分区是/dev/sdb1. 现在您需要安装它以利用它的宝贵空间。为此,您需要执行三个简单的步骤:

2.1 创建挂载点

sudo mkdir /hdd
Run Code Online (Sandbox Code Playgroud)

2.2 编辑/etc/fstab

/etc/fstab使用root权限打开文件:

sudo vim /etc/fstab
Run Code Online (Sandbox Code Playgroud)

并将以下内容添加到文件末尾:

/dev/sdb1    /hdd    ext4    defaults    0    0
Run Code Online (Sandbox Code Playgroud)

2.3 挂载分区

最后一步,你就完成了!

sudo mount /hdd
Run Code Online (Sandbox Code Playgroud)

链接

  • 这个答案很好,但是是通过设备名称 /dev/sd?? 挂载磁盘,这可能会改变。现在 UUID 是在 Ubuntu 中挂载磁盘的首选。另一个答案讨论了使用 blkid 查找 UUID 并将其添加到 fstab。https://askubuntu.com/revisions/932362/2 (4认同)
  • 你说你认为我的建议是合理的,但你没有相应地编辑你的答案。 (2认同)

ana*_*nik 36

现代驱动器很大,需要使用GPT进行分区以允许 2TB 以上的大小。

  1. 找到您的磁盘:

    sudo blkid
    
    Run Code Online (Sandbox Code Playgroud)

    如果已经格式化,您应该会看到类似/dev/sdb1withUUIDPARTUUIDsettings 的条目。

  2. 如果您的磁盘未格式化,请创建一个新分区:

    sudo cgdisk /dev/sdb
    
    Run Code Online (Sandbox Code Playgroud)

    并格式化:

    sudo mkfs -t ext4 /dev/sdb1
    
    Run Code Online (Sandbox Code Playgroud)
  3. 为您的硬盘创建目录:

    sudo mkdir /media/storage
    
    Run Code Online (Sandbox Code Playgroud)
  4. sudo blkid再次运行,记UUID下您的/dev/sdb1分区并将其添加到/etc/fstabfstab通过安装进行备份etckeeper- 此文件很重要):

    UUID="b4c93..."  /media/storage  ext4  defaults  0  2
    
    Run Code Online (Sandbox Code Playgroud)

    fstab wiki 页面描述了它的含义。这应该使它在重新启动后持久化。

  5. 最后在不重启的情况下挂载测试:

    sudo mount -av
    
    Run Code Online (Sandbox Code Playgroud)


Cor*_*tin 14

首先,您需要确定新硬盘。

CTRL+ ALT+T打开控制台,然后键入:

lsblk
Run Code Online (Sandbox Code Playgroud)

你会看到类似的东西:

loop0    7:0    0 86.6M  1 loop /snap/core/4486
sda      8:0    0    5G  0 disk 
??sda1   8:1    0  512M  0 part /boot/efi
??sda2   8:2    0  4.5G  0 part /
sdb      8:16   0   10G  0 disk
sr0     11:0    1 1024M  0 rom 
Run Code Online (Sandbox Code Playgroud)

例如sdb它是您要添加的新硬盘。

如果sdb是新硬盘,需要格式化为ext3或ext4

sudo mkfs.ext4 -j -L NewHDD /dev/sdb
Run Code Online (Sandbox Code Playgroud)

请记住,上面的命令将删除目标硬盘上的所有内容。如果硬盘上有任何数据并且您不想丢失它们,则可以跳过此步骤。

现在您需要新硬盘的 UUID。

sudo blkid /dev/sdb
Run Code Online (Sandbox Code Playgroud)

你会看到类似的东西:

/dev/sdb: LABEL="NewHDD" UUID="5d6c8f68-dcc8-4a91-a510-9bca2aa71521" TYPE="ext4"
Run Code Online (Sandbox Code Playgroud)

下一步是在fstab 中添加新硬盘用于重置后自动挂载:

sudo nano /etc/fstab
Run Code Online (Sandbox Code Playgroud)

并在底部添加新行,内容如下:

/dev/disk/by-uuid/5d6c8f68-dcc8-4a91-a510-9bca2aa71521 /mnt/NewHDD auto nosuid,nodev,nofail,x-gvfs-show,x-gvfs-name=NewHDD 0 0
Run Code Online (Sandbox Code Playgroud)

Remeber更换5d6c8f68-dcc8-4a91-a510-9bca2aa71521/mnt/NewHDD白衣自己的UUID和路径将被安装,CTRL+X 然后按YENTER保存。

要安装它,请使用: sudo mount -a,如果结果是:

mount: /mnt/NewHDD: mount point does not exist.
Run Code Online (Sandbox Code Playgroud)

您必须创建挂载点 sudo mkdir /mnt/NewHDD然后再次使用:sudo mount -a

您还需要使用下一个命令更改新硬盘的所有者和组:

sudo chown user:user -R /mnt/NewHDD

将:替换为user:user您自己的用户和您需要的组。


小智 10

这里有一个很好的描述如何添加另一个驱动器:

基本上,您必须对新磁盘进行分区,在其上创建一个文件系统,然后挂载它。那是最简单的方法。另一种方法是使用 lvm 并在新驱动器上创建虚拟磁盘。这会给你更多的灵活性:

  • 通常预期答案是自给自足的。您能否提供明确的说明而不是链接以使您的答案更好? (5认同)