如何在启动时安装新驱动器

Hom*_*lli 116 fstab

我最近在我的 Ubuntu 10.0.4 机器上安装了一个新硬盘。我使用 System -> Administration -> Disk Utils 来格式化磁盘(ext4 文件类型) - 但没有创建分区(这是可取的吗?)。

我已将驱动器手动安装为 /mydata。

我想让机器在启动/重启时自动挂载设备。我该怎么做?

[[更新]]

这是sudo fdisk -l在我的系统上运行的输出:

Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000858bf

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1       59334   476595200   83  Linux
/dev/sda2           59334       60802    11789313    5  Extended
/dev/sda5           59334       60802    11789312   82  Linux swap / Solaris

Disk /dev/sdb: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 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

Disk /dev/sdc: 16.0 GB, 16026435072 bytes
254 heads, 63 sectors/track, 1956 cylinders
Units = cylinders of 16002 * 512 = 8193024 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1               1        1955    15641929    c  W95 FAT32 (LBA)
Run Code Online (Sandbox Code Playgroud)

squ*_*org 113

首先你/dev/sdb没有分区。我假设这是您要挂载的磁盘。

警告:这会破坏目标磁盘上的任何数据


sudo fdisk /dev/sdb

  1. 按下O并按下Enter (创建一个新表)

  2. 按下N并按下Enter (创建一个新分区)

  3. 按下P并按下Enter (制作主分区)

  4. 然后按1并按Enter (将其创建为第一个分区)

  5. 最后,按W (这会将任何更改写入磁盘)


好的,现在你有了一个分区,现在你需要一个文件系统。

  1. sudo mkfs.ext4 /dev/sdb1

  2. 现在你可以将它添加到 fstab

    您需要添加它才能/etc/fstab使用您喜欢的文本编辑器

    请小心使用此文件,因为它很容易导致您的系统无法启动。

    为驱动器添加一行,格式如下所示。

    这假设分区按照上面的 mkfs 格式化为 ext4

    #device        mountpoint             fstype    options  dump   fsck
    
    /dev/sdb1    /home/yourname/mydata    ext4    defaults    0    1
    
    Run Code Online (Sandbox Code Playgroud)

然后在下次重新启动时它会自动挂载。

这个网页有很多关于fstab的有用信息

  • +1 指出编辑 fstab 的危险(这就是为什么我想我会先来这里询问)。碰巧的是,我的新驱动器没有分区,我使用文件类型 ext4 格式化了整个驱动器,并且设备名称(使用磁盘工具 GUI 应用程序获得)是 /dev/sdb。根据您提供的语法,新条目应该是`/dev/sdb /mydata ext4 defaults 0 1`。我希望将驱动器映射到 /mydata(从根目录)。这是要使用的正确语法吗? (5认同)
  • 您应该使用 `blkid` 来查找驱动器的 uuid 并将其用作文件系统。否则可能会移动分区并安装不正确的设备 (3认同)
  • 不,如果它是磁盘上的唯一分区,它应该是 /dev/sdb1。您可以使用“sudo fdisk -l”进行检查,这将显示磁盘 /dev/sdb 然后它的分区,因此 /dev/sdb1 将是您的 ext4,挂载点将是“/mydata”,这意味着它是一个已存在于名为 mydata 的驱动器根目录上的文件夹。仅供参考,使用现有文件夹 /mnt/mydata 或可能是 /var/mydata 它们的用途。 (2认同)
  • 这实际上将我锁定在我的 Raspberry Pi 根帐户之外。修改这个文件非常危险。 (2认同)
  • 值得使用 `nofail` 作为一个选项,这样当驱动器没有连接时机器仍然可以启动。[arch wiki](https://wiki.archlinux.org/index.php/Fstab#External_devices) 中的更多信息。 (2认同)

Phi*_*oud 83

我的 GUI 解决方案是gnome-disks

sudo gnome-disks
Run Code Online (Sandbox Code Playgroud)

侏儒磁盘

然后用配置按钮你可以“编辑挂载选项”,随意给出你的挂载点的目的地,它会自动保存到/etc/fstab 在此处输入图片说明

注意:nofail如果此挂载点不可用,则导致系统不挂起的选项在引导时可能无法访问文件系统(例如 USB、NFS 等)的情况下可能很有用。

  • 这是我遇到过的最安全的方式。我喜欢成为命令行忍者,但对于像这样的非常关键的操作,故障安全方法总是首选。 (9认同)

Mit*_*tch 15

将驱动器设置为每次启动计算机时自动挂载

您需要编辑/etc/fstab:

只需按键盘上的Ctrl+ Alt+T即可打开终端。当它打开时,运行下面的命令。

gksudo gedit /etc/fstab
Run Code Online (Sandbox Code Playgroud)

将此行添加到末尾:

/dev/sdaX /media/mydata ext4 defaults 0 0
Run Code Online (Sandbox Code Playgroud)

注意:确保将 X 替换为适合您情况的正确值。

或者您可以使用软件中心的存储设备管理器

  • 需要注意的是,上例中的/dev/hda2 可以替换为设备的uuid。uuid 是一个很长的数字字符串,用于唯一标识硬盘。要找到它,请使用命令“sudo blkid”。它将列出系统上连接的所有驱动器。 (2认同)

小智 7

您可以通过/etc/fstab 来完成

例如,如果您添加

/dev/hda2   /myfiles    ext2    defaults    0    0
Run Code Online (Sandbox Code Playgroud)

这意味着位于 /dev/hda2 的设备/分区将使用文件系统 ext2 挂载到 /myfiles,使用默认挂载选项,不启用转储和错误检查。


Abh*_*eet 7

如果您使用的是 FAT32 或 NTFS 文件系统,请使用以下命令:

对于 NTFS:

/dev/sda3   /media/entertainment    ntfs-3g rw,auto,user,fmask=0111,dmask=0000,noatime,nodiratime   0   0
/dev/sda4   /media/other    ntfs-3g rw,auto,user,fmask=0111,dmask=0000,noatime,nodiratime   0   0
Run Code Online (Sandbox Code Playgroud)

noatime并且nodiratime是一些优化。如果你愿意,你可以删除它们。

对于 FAT32 替换ntfs-3gvfat.


roa*_*dmr 6

fstab 文件让系统知道要挂载哪些驱动器(或至少如何挂载它们)。

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

然后添加这样一行:

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

当然,替换值以适合您的实际位置:

  • /dev/sdb1 应该是您要挂载的磁盘的设备和分区。
  • /mydata 是您要安装它的地方。
  • ext4是它使用的文件系统类型。如果您不确定,请在mount安装驱动器时发出不带参数的命令(即使您手动安装),它会告诉您文件系统类型。(在 12.04 中,您可以简单地键入auto它在启动时为您确定文件系统)
  • 其他值 ( defaults 0 0) 没问题,就像我展示的那样。

如果你想了解更多,你可以阅读man fstab


小智 6

fstab肯定会帮助你。

对于那些想要使用简单且不言自明的 GUI 的懒惰和谨慎的人,有一个名为Storage Device Manager (pysdm)的工具。此处的教程将与该线程中建议的其他答案基本相同,但该工具只需单击几下即可完成,无需手动将配置输入 fstab 配置文件。

sudo apt-get install pysdm(Ubuntu) 或sudo yum install pysdm(Fedora)

什么都不会出错,但以防万一,备份 fstab conf: sudo cp /etc/fstab /etc/fstab.old

现在运行存储设备管理器并选择您喜欢的分区,单击“助手”:

在此处输入图片说明

用于自动挂载 EXT4 分区的 PySDM 助手设置: 在此处输入图片说明

用于自动挂载 NTFS 分区的 PySDM 助手: 在此处输入图片说明

重新启动并查看您的驱动器现在已自动安装

你可以从这篇文章中了解更多关于助手设置的信息,因为它详细解释了这个过程,我的回答就是基于它。

更新: pysdm已从 Ubuntu 档案中删除(AskUbuntu 页面),sudo apt-get install pysdm不再工作。

暂时避免使用 pysdm。

出于以下原因,它已从 Ubuntu 档案中删除:

请从 Ubuntu 存储库中删除 Pysdm。它已过时(自 2006 年 6 月以来未更新!!),有问题(https://bugs.launchpad.net/ubuntu/+source/pysdm),不处理 UUID(现在是所有支持的 Ubuntu 版本中的 fstab 标准! !!) 并且它已经从 Debian 存储库中删除。