Vô tình xóa tập tin / etc / fstab


15

Tôi vô tình xóa /etc/fstabtập tin của tôi bằng cách chạy sudo rm /etc/fstab. Không nhận ra mình đã làm gì, tôi tắt hệ điều hành Ubuntu của mình.

Bây giờ tôi không thể khởi động.

nhập mô tả hình ảnh ở đây

Màn hình của tôi trông như thế này. Trong một số trường hợp, một màn hình màu tím xuất hiện. Xin vui lòng cho tôi một số giải pháp.

Câu trả lời:


18

Bạn phải tạo lại một fstabtệp mới trong /etcthư mục và thêm một mục nhập cho phân vùng gốc của bạn, để hệ điều hành Ubuntu của bạn sẽ khởi động.

Cách 1:

Tái tạo tập tin / etc / fstab thông qua chế độ Recovery

  1. Khởi động vào chế độ Recovery và sau đó thả vào shell root.

  2. Chạy sudo blkidlệnh để biết UUID của /phân vùng (root) của bạn . Nó sẽ hiển thị một cái gì đó như thế này,

    /dev/sda1: UUID="52e062e0-716c-4828-9bf1-05b93fdaef93" TYPE="ext4"
    /dev/sda1: UUID="2F4DAFCF02D7EBEB" TYPE="ntfs" 
    /dev/sda3: UUID="039E0CF305398945" TYPE="ntfs" 
    /dev/sda5: UUID="C68C57908C5779BF" TYPE="ntfs" 
    
  3. Từ sudo blkidđầu ra, xác định phân vùng ext4 gốc của bạn và ghi lại UUID tương ứng của nó.

  4. Bây giờ hãy gắn /phân vùng của bạn vào Chế độ đọc ghi bằng cách chạy lệnh bên dưới. Xin lưu ý rằng mount /lệnh đơn giản để gắn phân vùng gốc của bạn sẽ không hoạt động vì đã xóa /etc/fstab. Vì vậy, nếu /là của bạn /dev/sda1, hãy chạy lệnh này:

    mount -t ext4 -o rw,remount /dev/sda1 /
    
  5. Lệnh trên sẽ gắn kết /phân vùng của bạn trong chế độ đọc ghi. Chạy lệnh bên dưới để tạo một fstabtệp mới bên trong /etcvới dòng thích hợp để gắn kết của bạn /. Trong ví dụ trên, tôi /UUID=52e062e0-716c-4828-9bf1-05b93fdaef93, vì vậy tôi sẽ chạy:

    echo "UUID=52e062e0-716c-4828-9bf1-05b93fdaef93 / ext4 errors=remount-ro 0 1" > /etc/fstab
    
  6. Thoát khỏi shell root và khởi động hệ điều hành Ubuntu của bạn, nó chắc chắn sẽ khởi động.

Phương pháp 2

Tái tạo tập tin / etc / fstab qua đĩa sống Ubuntu

  1. Khởi động đĩa ubfox trực tiếp.

  2. Chạy sudo blkidlệnh và lưu ý id thiết bị của phân vùng Ubuntu đã cài đặt và UUID.

  3. Gắn kết phân vùng gốc của bạn,

     sudo mkdir /media/ubuntu
     sudo mount /dev/sdaX /media/ubuntu
    
  4. Bây giờ đi vào /media/ubuntuthông qua nautilus và tạo một fstabtập tin bên trong /etc.

  5. Trên tệp fstab đó, thêm một mục nhập cho phân vùng gốc của bạn như dưới đây.

     UUID=52e062e0-716c-4828-9bf1-05b93fdaef93 / ext4 errors=remount-ro 0 1
    
  6. Lưu tập tin đó. Và khởi động vào Ubuntu đã cài đặt của bạn.

Lưu ý: UUID của phân vùng gốc của tôi đã được đưa ra ở trên. Vui lòng cung cấp cho bạn. Sau khi khởi động vào hệ điều hành Ubuntu đã cài đặt của bạn, đừng quên thêm fstabmục nhập cho phân vùng trao đổi của bạn.


2
Bạn không cần phải chroot để làm điều này. Bạn có thể viết fstab mà không cần nó (chỉ cần gắn kết) và vì vậy, nó sẽ gây ra nhiều vấn đề hơn. Tôi sẽ thả nó.
Oli

1
Phương thức sẽ không hoạt động vì bạn sẽ không thể thả vào shell root vì bạn đang thiếu fstab. Như Oli đã chỉ ra, chroot hơi nhiều và làm cho việc sửa chữa trở nên phức tạp hơn. Chỉ cần khởi động một đĩa CD trực tiếp, gắn kết / phân vùng và viết một fstab. Bạn cũng có thể muốn bao gồm một mục để trao đổi;) Xem thêm - help.ubfox.com/community/Fstab
Panther

@ bodhi.zazen tôi thực hiện phương pháp đầu tiên trên chế độ bảo trì. Xem i.stack.imgur.com/KB6Xp.png
Avinash Raj

Không có fsatb, bạn sẽ không thể chạy bash, bạn sẽ rơi vào hộp bận rộn với các lệnh giới hạn (chỉ những gì có trong initrd). Như với chroot, chắc chắn là có thể, nhưng sẽ khó khăn hơn sau đó chỉ cần khởi động một hình ảnh trực tiếp.
Panther

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.