Khởi động giảm xuống một dấu nhắc (initramfs) / busybox


204

Tôi đang chạy HP pavilion dv6000 boot7 và Ubuntu 12.04. (tốt, cho đến ngày hôm nay). Sau khi khởi động lại, quá trình khởi động giảm xuống vỏ BusyBox và tôi kết thúc tại dấu nhắc:

BusyBox v1.18.5 (Ubuntu 1:1.18.5-1ubuntu4) built-in shell (ash)
Enter 'help' for a list of built-in commands.

(initramfs)

Tôi đã nghiên cứu những người khác có cùng vấn đề này, nhưng không thể tìm thấy bất kỳ giải pháp nào phù hợp với tôi.

Tôi đã thử phương pháp được mô tả ở đây , và sau lệnh cuối cùng

mount -t ntfs-3g /dev/sda1 /root -o force

nó không làm gì cả và cho tôi một dấu nhắc (initramfs) khác.

Tôi có thể khởi động vào đĩa CD (USB) trực tiếp và đến một thiết bị đầu cuối, nhưng dường như nó không hoạt động tốt lắm, vì tôi có thể thấy / dev / sda1 trong lệnh ls, nhưng nó không nhận ra khi tôi cố gắng để cd cho nó.

Một câu hỏi nữa: sử dụng lệnh fdisk -llàm thế nào tôi có thể biết điểm gắn kết ( sda1/ sda2) nào là phân vùng windows của tôi và cái nào là Ubuntu?


1
Đây là người chiến thắng, BTW cyberciti.biz/faq/ Kẻ
dpm

3
Tôi không thể tin Canonical chưa triển khai quy trình làm việc thân thiện với người dùng phù hợp để khắc phục tình trạng này :(
knocte

Phải có một cách tốt hơn để khắc phục trường hợp. Bạn không cần Live Ubuntu cho nhiệm vụ, vì tôi đã cố gắng giải quyết nó mà không cần nó. Tôi nghĩ rằng bạn có thể sửa chữa điều này ngay cả trong (inittramfs).
Léo Léopold Hertz

4
@Masi Trên thực tế, việc chạy fsck từ initramfs đã sửa nó trong hầu hết các trường hợp, nhưng trong bản phát hành ubfox hiện tại khi câu hỏi này được đăng, ngay cả sau khi fsckđược chạy, lỗi tương tự lại xuất hiện khi khởi động lại.
Amith KK

Câu trả lời:


207

Trong khi ở bảng điều khiển initramfs , tôi đã thông qua một lối ra lệnh để thoát ra khỏi trình bao. Giao diện điều khiển tương tự đã được trình bày trước tôi nhưng lần này với tên chính xác của phân vùng đã bị hỏng .

BusyBox v1.18.5 (Ubuntu 1:1.18.5-1ubuntu4) built-in shell (ash) 
Enter 'help' for a list of built-in commands.

(initramfs) exit

/dev/mapper/ubuntu--vg-root: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
(i.e., without -a or -p options) 
fsck exited with status code 4. 
The root filesystem on /dev/mapper/ubuntu--vg-root requires a manual fsck. 

BusyBox v1.18.5 (Ubuntu 1:1.18.5-1ubuntu4) built-in shell (ash)
Enter 'help' for a list of built-in commands.

(initramfs) fsck /dev/mapper/ubuntu--vg-root -y

fsck from util-linux 2.27.1
e2fsck 1.42.13 (17-May-2015)
/dev/mapper/ubuntu--vg-root contains a file system with errors, check forced.

Sau khi kiểm tra xong, tôi khởi động lại hệ thống.

BusyBox v1.18.5 (Ubuntu 1:1.18.5-1ubuntu4) built-in shell (ash)
Enter 'help' for a list of built-in commands.

(initramfs) reboot

và đó là nó, tôi đã trở lại hệ thống tập tin mà không có bất kỳ lỗi nào.


14
Đã làm việc cho Ubuntu 16.04
Hastig Zusammenstellen

3
Đã làm cho tôi. Nhưng tại sao nó lại xảy ra?
आनंद

3
Tất cả các vị cứu tinh ramsudharsan của vũ trụ
Mike Miller

1
Nhưng nếu bàn phím không hoạt động thì sao? : - /
Matt

3
@Matt Kích hoạt tùy chọn bàn phím trong cài đặt BIOS (Nếu bạn đã tắt bàn phím trong khi khởi động, hãy giữ nút nguồn cho đến khi bạn nghe thấy âm thanh đặt lại từ bảng)
ramsudharsan

86

Có vẻ như bạn có một siêu khối xấu. Để khắc phục điều này:

Đầu tiên, khởi động vào đĩa CD hoặc USB trực tiếp

Tìm ra số phân vùng của bạn bằng cách sử dụng

sudo fdisk -l|grep Linux|grep -Ev 'swap'

Sau đó, liệt kê tất cả các siêu khóa bằng cách sử dụng lệnh:

sudo dumpe2fs /dev/sda2 | grep superblock

Thay thế sda2vào số ổ đĩa của bạn

Bạn sẽ nhận được một đầu ra tương tự như thế này

  Primary superblock at 0, Group descriptors at 1-6
  Backup superblock at 32768, Group descriptors at 32769-32774
  Backup superblock at 98304, Group descriptors at 98305-98310
  Backup superblock at 163840, Group descriptors at 163841-163846
  Backup superblock at 229376, Group descriptors at 229377-229382
  Backup superblock at 294912, Group descriptors at 294913-294918
  Backup superblock at 819200, Group descriptors at 819201-819206
  Backup superblock at 884736, Group descriptors at 884737-884742
  Backup superblock at 1605632, Group descriptors at 1605633-1605638
  Backup superblock at 2654208, Group descriptors at 2654209-2654214
  Backup superblock at 4096000, Group descriptors at 4096001-4096006
  Backup superblock at 7962624, Group descriptors at 7962625-7962630
  Backup superblock at 11239424, Group descriptors at 11239425-11239430
  Backup superblock at 20480000, Group descriptors at 20480001-20480006
  Backup superblock at 23887872, Group descriptors at 23887873-23887878

Chọn một siêu khối thay thế từ danh sách này, trong trường hợp này là siêu khối thay thế # 32768

Bây giờ, để kiểm tra và sửa chữa hệ thống tệp Linux bằng siêu khối thay thế # 32768:

sudo fsck -b 32768 /dev/sda2 -y

Các -ycờ được sử dụng để bỏ qua tất cả các Fix?câu hỏi và trả lời tất cả chúng với một vâng tự động

Bạn sẽ nhận được đầu ra tương tự như thế này:

fsck 1.40.2 (12-Jul-2007)
e2fsck 1.40.2 (12-Jul-2007)
/dev/sda2 was not cleanly unmounted, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Free blocks count wrong for group #241 (32254, counted=32253).
Fix? yes
Free blocks count wrong for group #362 (32254, counted=32248).
Fix? yes
Free blocks count wrong for group #368 (32254, counted=27774).
Fix? yes
..........
/dev/sda2: ***** FILE SYSTEM WAS MODIFIED *****
/dev/sda2: 59586/30539776 files (0.6% non-contiguous), 3604682/61059048 blocks

Bây giờ hãy thử gắn phân vùng

sudo mount /dev/sda2 /mnt

Bây giờ, hãy thử duyệt hệ thống tập tin với các lệnh sau

cd /mnt
mkdir test
ls -l
cp file /path/to/safe/location

Nếu bạn có thể thực hiện các lệnh trên, rất có thể bạn đã sửa lỗi của mình.

Bây giờ, khởi động lại máy tính của bạn và bạn sẽ có thể khởi động bình thường.

( nguồn )


1
Tôi đã làm theo tất cả các bước cho sda1 nhưng không thể thực hiện phần cuối "thử nghiệm mkdir" !! Ngoài ra còn có sda5 vì vậy tôi cho rằng lặp lại các bước cho điều đó?
Freddy

2
Bạn viết "Chọn một siêu khối thay thế". Thay thế cho cái gì? Tôi có thể chọn bất kỳ từ danh sách?
Mads Skjern

1
Tôi đề nghị thêm vào câu trả lời, rằng người ta phải trả lời có cho mỗi "Câu hỏi sửa chữa". Nhưng cũng có thể có rất nhiều câu hỏi và người ta có thể trả lời có cho tất cả, bằng cách sử dụng cờ "-y".
Mads Skjern

2
+1 cho những người đã sử dụng gparted và hiện đang ở đây
Vitor Abella

2
Nếu sudo fdisk -l|grep Linux|grep -Ev 'swap'trả về 2 dòng thì sao? / dev / sda2 và / dev / sda5 cho tôi
knocte

60

Trên thực tế, giải pháp rất dễ dàng chỉ cần viết lệnh fsck /dev/sdaxnhư dưới đây và đưa ra Ynếu giao diện điều khiển yêu cầu sửa một cái gì đó:

(initramfs) fsck /dev/sda1

hoặc là

(initramfs) fsck /dev/sdaX

X chỉ định số phần đĩa gắn.

Nếu bạn không muốn nhấn thủ công 'y' mỗi lần nó yêu cầu sửa lỗi, bạn cũng có thể chạy lệnh với -ytùy chọn.

(initramfs) fsck /dev/sdaX -y

5
cảm ơn anh chàng này đã giải quyết vấn đề của tôi, đó là trên / dev / sda5
lotfio

5
Tại sao câu trả lời này chưa được chấp nhận? Đơn giản và làm việc.
Swapnil

3
Giải pháp tuyệt vời và dễ dàng nhất!
kunicmarko20

2
Cứu cái mông của tôi !!!
Eric Wang

2
Câu trả lời nên được chấp nhận
Kareem

6
  1. Câu trả lời đơn giản là loại bỏ đĩa cứng gắn vào hệ thống của bạn và khởi động hệ thống (vui lòng không khởi động từ lỗi đĩa cứng initramfs của bạn sử dụng bất kỳ với Ubuntu và gpartedđã cài đặt).
  2. bắt đầu gpartedvà chọn đĩa cứng của bạn và chọn KIỂM TRA từ menu chuột phải.

2

Tôi vừa thử một cú bắn may mắn bằng cách khởi động hệ thống bằng công cụ "Parted Magic" từ Live CD. Nhìn vào các phân vùng, có một "không gian không xác định" được tuyên bố của một số GBytes trên phân vùng Linux.

Vì vậy, tôi chỉ mở rộng không gian Linux trên toàn bộ Phân vùng và voila - kể từ đó Linux của tôi khởi động như trước mà không gặp sự cố nào.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.