在安装Ubuntu时出现“未定义根文件系统”错误。

我对Linux/Ubuntu还很陌生,刚刚下载了Ubuntu的v11版本来学习Linux。在尝试安装时,遇到了“未定义根文件系统”的错误。以下是我的操作过程:
1. 从ubuntu.com网站下载了Ubuntu v11,并将ISO写入可启动光盘,然后重新启动进入Linux安装过程;一切都进行得很顺利。
2. 在安装过程中的一个屏幕上,有三个选项 - 在Windows旁边安装、其他选项等等。由于C盘中已经有Windows 7,我选择了第一个选项 - “在另一个操作系统旁边安装”。
让我在这里打断一下,给出我的现有系统详细信息 - 硬盘大小:640GB。现有分区数 - 5个 C盘 - 标签为Windows - 160GB - 已安装Windows 7 D盘 - 标签为Linux - 160GB - 没有任何数据 E盘 - 标签为备份 - 100GB - 有一些数据 F盘 - 标签为娱乐 - 100GB - 有一些数据 G盘 - 标签为工作 - 90GB - 有一些数据 以上所有分区均为NTFS格式。
3. 在接下来的屏幕上,显示了一个图像,分为两个部分,每个部分的大小都是80GB。在这两个图像的中间有一个水平滑块,我可以用它来调整分区的大小。右侧的分区标记为Linux。还有一个选项可以进行“高级分区”。
4. 在上述屏幕上点击“高级分区”后,会显示一个新的屏幕,其中显示了我计算机中现有的分区,但标签不同。我看到有两个大小为160GB的分区(如预期),所以我假设第一个160GB将是我现有的C盘,第二个将是我标记为Linux(D盘)的分区。因此,我选择了Linux分区,然后点击继续/立即安装,然后出现了以下错误信息 - “未定义根文件系统”,之后我无法继续操作。
请告诉我以下两件事情:
1. 在上面的第3点中,屏幕显示了带有滑块的图像。这里指的是哪个分区(C盘还是D盘或其他)?我实际上正在调整大小的是哪一个 - 是已经安装了Windows 7的现有C盘,它被缩小,然后在剩余空间中安装Ubuntu吗?
2. "未定义根文件系统"错误是什么意思?我如何选择正确的分区并继续安装?

P.S.:

我已经按照上述提到的方式对我的硬盘进行了分区,其中160GB的D盘专门留出来用于安装Ubuntu。在安装过程中,我希望能选择D盘并将Ubuntu安装在这里,同时保留已经安装好的Windows 7在C盘。
谢谢!
8个回答

确保您希望在其中安装Linux、Ubuntu或Backtrack的分区文件系统是ext4、ext3或ext2,而不是FAT32或NTFS。
然后将/挂载到该分区上:
1. 在安装过程中,按下“更改”按钮选择要使用的分区。 2. 确保未选择“不使用此分区”,滚动选择ext4、ext3或ext2。 3. 在“挂载”字段中写入/。 4. 点击确定,然后会出现一条消息,类似于“未定义交换区域,是否继续或选择交换区域?”,点击“确定”并继续,或者点击“返回”并选择另一个分区,然后点击更改,在文件系统滚动菜单中选择“交换”,然后点击“确定”和“下一步”。 这将解决“未定义根文件系统”和“交换区域”消息的问题。如果仍然收到交换区域消息,请在第4步中将/swap挂载到该分区上。

如果你看一下这个链接,你会发现分区文件系统是ext4。 - Errol Fitzgerald
@ErrolGongson 在安装程序中需要设置挂载点。这是我们错误信息的原因。 - nanofarad
1我更喜欢这个答案——它解释了需要做什么。 - Samik R
这是唯一对我有效的解决方案,但是在将分区更改为ext4之后,当我登录Windows时不再看到那个分区,而且由于我对Ubuntu还不熟悉,我似乎在Ubuntu中也看不到该分区,这是否是应该发生的情况? - Shairyar Baig

回答你的第一个问题,第一屏幕上建议分割的分区是你的Windows分区。既然你已经为Ubuntu创建了一个分区,那么你不需要这样做。
你说你在高级屏幕上选择了分区,但仅仅点击它是没有任何作用的;你需要点击编辑按钮并为分区分配文件系统类型(使用ext4)和挂载点。
错误是因为你没有分配任何文件系统来挂载到根目录(/),因此没有安装的位置。

1感谢 @psusi 回答了两个问题。嗯,我还没有尝试实际安装,但是根据其他回答和你的回答,似乎我漏掉了“/”符号 :)谢谢大家。 - arun nair

继续@binW的回答,
如果你准备好迎接一些冒险,但要注意适当的谨慎,否则可能会变成噩梦。

enter image description here

enter image description here

enter image description here

你需要将挂载点明确定义为/,以使其作为根文件系统正常运行。

enter image description here

交换你可以保留,但文学告诉你要保留它!顺便说一下,我没有交换。 图片来源

这就是我的全部了。谢谢!不知道为什么在下拉菜单中有一个空白选项... "/" 应该是默认选项! - Ty.
不客气。在我看来,空白值可能是默认的,如果你只是想格式化一个空间而不用它来做任何用途,比如备份磁盘。 - Vineet Menon

对于任何偶然看到这个问题的人...这是我的解决方案。
sudo apt-get remove dmraid

这对我也起作用了 - William Z

您需要创建一个交换分区和一个文件系统(ext4)分区,使用“/'符号作为根文件系统的位置。

谢谢Ashkan。添加以下内容帮助解决了上述问题:"partman-auto/method string regular" 和 "partman-auto/disk string /dev/sda" - shiva.nayak.mdn

如果在安装过程中发现分区列表为空,可能是由于 dmraid 模块出现问题。如果您的系统具有 RAID 控制器(内置),该模块将被加载。

我在安装过程中遇到了这个问题,并在按下 Ctrl+Alt+F1 切换到控制台后运行了以下命令:

sudo apt-get remove dmraid

切换回来(Ctrl+Alt+F7)后,我可以继续安装并看到我的分区列表。

Ubuntu,或者说任何Linux发行版,都需要至少两个分区才能运行。其中一个被称为swap,用作虚拟内存的交换空间。它不会被挂载在任何地方。另一个分区用于根文件系统,并被挂载到/,即文件系统树的根目录。如果您对Linux文件系统不熟悉,也不了解在Linux环境中挂载的含义,请阅读this。它将帮助您理解这些概念。
现在关于您看到的错误。这是因为您没有为根文件系统定义任何分区。由于您说自己是新用户,我建议您只需简单地删除您为Linux保留的分区(使用Windows),然后在安装Ubuntu时选择使用所有可用的空闲空间来安装Linux。

1现在不需要交换了...如果你不需要休眠的话... - Vineet Menon
1保留交换分区以备不时之需。 - Engels Peralta
需要交换空间!然而,较新版本的Ubuntu使用交换文件,只有在休眠时才需要交换分区。不管别人怎么说,交换空间是必需的,可以防止RAM达到最大限制。如果想加快读写速度,请考虑使用单独的驱动器作为交换空间,或者直接切换到固态硬盘。取消交换空间可能导致无尽的磁盘分页,在RAM使用量过大时会使系统停滞不前。 - mchid

也许你下载的ISO文件出了问题。试着在网站上找到.iso文件的MD5值,并与你下载的进行比较。
我安装Ubuntu 12.04时,我的硬盘上已经有Mandriva Free 2010了,在安装过程中一切都很顺利。