summaryrefslogtreecommitdiff
blob: 1d7c52bec8601a87ac7219ff0951fcf492657ef6 (plain)
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<?xml version="1.0"?>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Unable to mount root fs on unknown-block(X,Y)</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/><link href="styles.css" rel="stylesheet" type="text/css"/><style type="text/css"/></head><body><h1>Unable to mount root fs on unknown-block(X,Y)</h1>

<p xmlns=""><b>Maintainers:</b>
  swift
</p>
<p xmlns=""><b>Keywords:</b>
  boot
  kernel
  kernel panic
</p>
<h2 xmlns="">Synopsis</h2>

<p xmlns="">
When you boot up your Gentoo system, you receive the following error before you
receive the Gentoo-specific start-up:
</p>

<pre xmlns="">
VFS: Cannot open root device "hda3" or unknow-block(8,3)
Please append a correct "root=" boot option
Kernel Panic: VFS: Unable to mount root fs on unknown-block(8,3)
</pre>

<p xmlns="">
The numbers in the unknown-block(X,Y) can be different; the X-value is non-zero.
</p>


<h2 xmlns="">Environment</h2>

<p xmlns="">
This occurs when booting a new kernel or after a change in the bootloader
configuration.
</p>


<h2 xmlns="">Analysis</h2>

<p xmlns="">
When the Linux kernel has been booted and finished all its initial
configuration, it tries to mount the root filesystem. It uses the root boot
parameter to find out what the root filesystem is:
</p>

<pre xmlns="">
(Example from a grub.conf):
kernel /kernel-2.6.10-gentoo-r5 root=/dev/hda3
</pre>

<p xmlns="">
As the Linux kernel doesn't understand a string like "/dev/hda3" it translates
it to a set of numbers, called a major and minor number. In this error, the
major and minor are known. This occurs when the kernel has succesfully detected
the hardware but is not able to understand the file system that it found on it.
</p>

<p xmlns="">
In other words, the kernel does not have support for the file system on it
built-in.
</p>


<h2 xmlns="">Solution</h2>

<p xmlns="">
There are four possible reasons for this issue to occur: you did not select the
correct file system support when configuring the kernel, the support for the
file system is built as a module and you are not using an initial root device, 
the file system is corrupted and does not identify itself as that particular
file system anymore, or there is no file system on it.
</p>

<p xmlns="">
Make sure that your kernel configuration has support for the correct file
system and that it is built in the kernel, not as a module.
Otherwise your kernel would need to be able to mount the disk to find the module
to ... mount the disk. 
</p>

<p xmlns="">
Also, verify if the root parameter you've set is indeed pointing to the right
partition. If that fails too, see if you can mount this partition from a rescue
CD. 
</p>


</body></html>