Câu hỏi Có cách nào để thiết lập phân vùng để root ('/') mà không định dạng lại?


Mẩu chuyện dài. Tôi vô tình xóa GRUB của tôi và phân vùng của tôi được đặt bằng điểm gắn kết '/'. Tôi đã khắc phục điều này bằng cách cài đặt lại Ubuntu từ một đĩa CD trực tiếp (USB), và thiết lập điểm gắn kết cho phân vùng mới (với phiên bản 2 của Ubuntu) là '/', và trình cài đặt Ubuntu cài đặt lại GRUB. (Tôi đã thử dùng boot-repair, từ liveCD nhưng nó không hoạt động)

Câu hỏi của tôi là: Tôi có thể loại bỏ hệ thống cũ này để lấy lại không gian đã sử dụng, và gán lại Ubuntu ban đầu của tôi cho điểm gắn kết '/' mà không phải sao chép định dạng lại hay không?

Lý do tại sao:

  • Tôi không có một thiết bị lưu trữ dung lượng lớn sẽ có không gian, để giữ tất cả mọi thứ trên phân vùng này (hiện tại / 1st Ubuntu).

  • Không có ổ đĩa quang.

  • Rất nhiều cài đặt và những thứ khác tôi muốn lưu

  • Máy tính đã được đóng gói sẵn với Ubuntu, làm cho việc tìm kiếm các trình điều khiển không cần thiết (sẽ không phải trải qua những rắc rối khi tìm kiếm mọi thứ, bởi vì tôi biết một số không hoạt động trong liveCD)

LSBLK Dưới đây:


lsblk


df -h --total


df


(Chỉnh sửa: Để biết thêm thông tin) Netbook mà tôi đã cài đặt sẵn với Ubuntu, vì vậy nó không được thiết lập theo cách 'bình thường', tức là hệ điều hành của tôi không được thiết lập trên cùng phân vùng với MBR và GRUB. Ngoài ra còn có một phân vùng phục hồi trong đó có phục hồi Ubuntu. Thông tin khởi động được thiết lập tại / cho một điểm lắp đặt.

phân vùng sda1 - FAT32

sda2 - Phân vùng FAT32

sda3 - Thư mục gốc của Ubuntu Install thứ 2 '/'

sda4 - trao đổi được mã hóa

sda5 - 1st Ubuntu Cài đặt thư mục chính '/ home'

sda7 - Hệ điều hành khác (Ubuntu 14.04)

sda8 - Không sử dụng

zram0 và zram1 - phân vùng trao đổi cho linux


Các bước thực hiện:

  1. Từ thiết bị đầu cuối mở CD trực tiếp để sao chép / sda5 - sudo dd if /dev/sda5 of=/dev/sda7 conv=notrunc,noerror
  2. Từ thiết bị đầu cuối mới đã làm watch -n5 'sudo kill -USR1 $(pgredp ^dd) để xem tiến độ của dd (điều này mất khoảng 24 giờ để hoàn thành)
  3. Đã cố gắng tải từ ổ đĩa cứng. Hệ thống được tải vào dòng lệnh grub (không phải bộ nạp khởi động).
  4. Ran liveCD một lần nữa cài đặt sửa chữa khởi động, chạy qua sửa chữa.
  5. Hệ điều hành mặc định hiện được đặt thành sda5 trong GRUB, vẫn có các điểm gắn kết phân vùng đã bị làm sai lệch.

(Lên đến 5 bước hệ điều hành còn nguyên vẹn)

  1. Đã định dạng sda7.
  2. Đã đổi kích thước sda5.

  3. Một trong 2 bước cuối cùng này đã hủy GRUB và khả năng khởi động của các phân vùng (nghĩa là không có 3 Ubuntus nào sẽ tải)

  4. liveCD, cố gắng sửa chữa khởi động 3 lần, sau lần sửa lỗi thứ nhất không thể truy cập vào các tùy chọn GRUB trong các tùy chọn nâng cao của việc sửa chữa khởi động (không thể thanh lọc / cài đặt lại GRUB)
  5. Được gắn sda5, để xem liệu tôi có thể lấy các tệp không, nhưng đĩa không thể đọc được. (Đoán do thay đổi kích thước ở bước # 7)
  6. Đã xóa sạch mọi thứ và cài đặt lại Ubuntu.
  7. Thật không may tôi phải làm lại tất cả các thiết lập của tôi, may mắn thay tôi giữ sao lưu dữ liệu quan trọng, nhưng vẫn bị mất một số.
  8. Bài học cho bản thân mình. Hãy cẩn thận khi phân vùng.

Mặc dù nó trông giống như khởi động sẽ làm việc với sda3 nguyên vẹn, có vẻ như một số thông tin khởi động có thể đã được kéo dài trên các phân vùng. Nhân bản từ sda5 đến sda7 (với đ) cũng không hoạt động. (sda7 sẽ không khởi động sau khi sda5 được nhân bản, nhưng có lẽ vì sự khác biệt về kích thước, và nhân bản cần kích thước chính xác để nhân đôi). Vì vậy, tôi định dạng sda7 và sda5 mở rộng. Điều này gây ra thông tin sda5 của tôi để có được điều sai lầm. Nếu tôi chỉ có thông tin (không chỉnh sửa toàn bộ hệ thống), câu trả lời dưới đây rất có thể sẽ hoạt động.

Vấn đề lớn nhất mà tôi có là khi sử dụng đĩa CD trực tiếp, tôi phải gắn ổ đĩa của mình theo cách thủ công (sử dụng thiết bị đầu cuối, mkdir /temporary/folder/ , mount /dev/sdXY/ /temporary/folder), nhưng không phải lúc nào .. đôi khi hệ thống tự động được gắn kết, vì vậy tôi sẽ phải tháo dỡ, nếu tôi muốn thay đổi bất cứ điều gì. Nó không phù hợp.


2
2018-05-02 17:08


gốc


Cần rõ ràng hơn về "vô tình xóa GRUB của tôi và phân vùng của tôi được đặt thành '/'". Làm thế nào bạn quản lý để loại bỏ GRUB? Bạn đang cố nói gì với mệnh đề thứ hai? Nếu bạn đã chọn cùng một phân vùng gốc cho lần cài đặt thứ hai, ít khả năng bạn sẽ lấy lại dữ liệu cũ. Theo mặc định, nó định dạng phân vùng gốc ('/') - Jay Aurabind
@Jay Aurabind Tôi đã định dạng phân vùng đã được bật. Điều khoản thứ hai: Tôi có thể vào phân vùng cũ của mình với hệ điều hành gốc của tôi (Ubuntu thứ nhất, được gắn vào '/ home'). Tôi có thể khởi động tốt vào hệ điều hành của mình, nhưng tôi muốn loại bỏ cài đặt thứ hai và không chắc chắn nếu GRUB sẽ biến mất (không chắc chắn nó ở đâu). Tôi biết nó ở byte 392 MBR trên / dev / sda /, và Ubuntu thứ nhất của tôi là dev / sda5, với / dev / sda3 / là điểm gắn kết "root" ('/') của tôi. - No Time
Bạn có thể đăng đầu ra của lsblk vì vậy chúng tôi có thể xem bố cục phân vùng của bạn là gì? - Nattgew
@Nattgew Đã thêm lsblk vào bài đăng. / sda7 / là Ubuntu thứ 2. - No Time
Tôi không chắc bạn muốn làm gì, bạn có thể giải thích dựa trên những gì được hiển thị từ lsblk đầu ra? - Nattgew


Các câu trả lời:


Cách dễ nhất có thể là chỉ di chuyển mọi thứ đến /dev/sda3 kể từ khi di chuyển của bạn / phân vùng có thể phức tạp (các tệp đặc biệt, grub và nội dung, xem đây)

Bạn sẽ cần khởi động từ USB để sử dụng gparted để chỉnh sửa các phân vùng.

  1. Di chuyển tất cả các tệp bạn cần từ /dev/sda5 đến /dev/sda7, xóa bỏ /dev/sda5
  2. Bạn sẽ có thể di chuyển /dev/sda4 và mở rộng /dev/sda3 vào không gian trống
  3. Sau đó, bạn có thể sao chép các tệp bạn đã chuyển sang /dev/sda7 đến /dev/sda3
  4. Sau đó, bạn có thể xóa /dev/sda7, di chuyển /dev/sda4 một lần nữa, và cuối cùng mở rộng /dev/sda3 để lấp đầy không gian

Bạn cũng sẽ muốn chỉnh sửa /etc/fstab để loại bỏ tham chiếu đến /home trên /dev/sda5

/ vẫn còn trên cùng một phân vùng, hy vọng grub vẫn sẽ khởi động tốt. Nếu không, bạn sẽ có thể chạy Sửa chữa khởi động để sửa chữa nó.

FYI: grub được cài đặt trên MBR của ổ đĩa (không hiển thị trên lsblk hoặc là df) và thông tin về phân vùng và tất cả được lưu trữ trong /boot, trong trường hợp của bạn sẽ ở trong / thư mục (trên /dev/sda3)


2
2018-05-02 20:08



Cập nhật một chút. Tôi cần phải giữ thiết lập cho Ubuntu hiện tại của mình, vì vậy tôi không thể chỉ sao chép các tập tin. Tôi đang làm việc để mọi thứ hoạt động chính xác. (Giữ nhật ký) - No Time