Tôi đã xóa bảng phân vùng của mình bằng gparted, có cách nào để khôi phục phân vùng của tôi không?


7

Tôi đã xóa bảng phân vùng NTFS (windows) bằng cách sử dụng gparted bằng cách nhấp vào "Thiết bị-> Tạo Bảng phân vùng ... và sau đó áp dụng", có cách nào để khôi phục phân vùng NTFS của tôi không?

Tôi đã thử sử dụng lệnh này, gpart /dev/sda tôi nhận được như sau:

Begin scan...
End scan.

Checking partitions...
Ok.

Guessed primary partition table:
Primary partition(1)
type: 000(0x00)(unused)
size: 0mb #s(0) s(0-0)
chs:  (0/0/0)-(0/0/0)d (0/0/0)-(0/0/0)r

Primary partition(2)
type: 000(0x00)(unused)
size: 0mb #s(0) s(0-0)
chs:  (0/0/0)-(0/0/0)d (0/0/0)-(0/0/0)r

Primary partition(3)
type: 000(0x00)(unused)
size: 0mb #s(0) s(0-0)
chs:  (0/0/0)-(0/0/0)d (0/0/0)-(0/0/0)r

Primary partition(4)
type: 000(0x00)(unused)
size: 0mb #s(0) s(0-0)
chs:  (0/0/0)-(0/0/0)d (0/0/0)-(0/0/0)r

Sản lượng này có nghĩa là gì? Có cách nào tôi có thể phục hồi?


thử testdisk.
frostschutz

Câu trả lời:


4

Bạn có thể thử sử dụng testdisk để khôi phục bảng phân vùng. Testdisk sẽ đọc bề mặt của đĩa và cố gắng xác định nơi phân vùng bắt đầu và kết thúc.


7

Có khả năng khôi phục bảng phân vùng, nhưng nó yêu cầu 2 điều kiện được đáp ứng:

  1. Bạn chưa khởi động lại máy.
  2. Ổ đĩa đã được sử dụng tại thời điểm bảng được thay đổi.

Làm thế nào điều này hoạt động là kernel giữ bố cục phân vùng trong bộ nhớ. Nếu một phân vùng đang được sử dụng, nó cần biết phân vùng bắt đầu từ đâu, vì vậy nó sẽ từ chối tải lại bảng mới cho đến khi nó không còn được sử dụng.

Làm như thế nào:

Tới /sys/block/sda. Bên trong đó bạn sẽ thấy một thư mục cho mỗi phân vùng ( sda1, sda2, vv). Bên trong mỗi cái đó là một tập tin được gọi startsize(vì vậy /sys/block/sda/sda1/start). Nếu bạn tạo lại bảng phân vùng của mình bằng các vị trí và kích thước bắt đầu chính xác này, bạn sẽ ổn.

Lưu ý rằng nó không giữ kiểu phân vùng. Linux không quan tâm đến thông tin này. Vì vậy, sau khi tạo lại, bạn sẽ phải nhớ loại phân vùng được đặt thành (NTFS hoặc bất cứ thứ gì).


Thí dụ

Đĩa gốc:

# fdisk -l / dev / sdc

Đĩa / dev / sdc: 8006 MB, 8006926336 byte, 15638528 cung
Đơn vị = các lĩnh vực 1 * 512 = 512 byte
Kích thước ngành (logic / vật lý): 512 byte / 512 byte
Kích thước I / O (tối thiểu / tối ưu): 512 byte / 512 byte
Định danh đĩa: 0x000ce29c

   Khởi động thiết bị Hệ thống Id khối khởi động
/ dev / sdc1 2048 2099199 1048576 83 Linux
/ dev / sdc2 2099200 15638527 6769664 83 Linux
# gắn kết | grep sdc
/ dev / sdc2 trên / mnt / tmp loại xfs (rw)
# mèo / mnt / tmp / thế giới
xin chào

Xóa bảng phân vùng

# fdisk / dev / sdc
Chào mừng bạn đến với fdisk (produc-linux 2.22.2).

Thay đổi sẽ chỉ còn trong bộ nhớ, cho đến khi bạn quyết định viết chúng.
Hãy cẩn thận trước khi sử dụng lệnh ghi.


Lệnh (m để được giúp đỡ): d
Số phân vùng (1-4): 1
Phân vùng 1 bị xóa

Lệnh (m để được giúp đỡ): d
Đã chọn phân vùng 2
Phân vùng 2 bị xóa

Lệnh (m để được giúp đỡ): p

Đĩa / dev / sdc: 8006 MB, 8006926336 byte, 15638528 cung
Đơn vị = các lĩnh vực 1 * 512 = 512 byte
Kích thước ngành (logic / vật lý): 512 byte / 512 byte
Kích thước I / O (tối thiểu / tối ưu): 512 byte / 512 byte
Định danh đĩa: 0x000ce29c

   Khởi động thiết bị Hệ thống Id khối khởi động

Lệnh (m để được giúp đỡ): w
Bảng phân vùng đã được thay đổi!

Gọi ioctl () để đọc lại bảng phân vùng.

CẢNH BÁO: Đọc lại bảng phân vùng không thành công với lỗi 16: Thiết bị hoặc tài nguyên bận.
Nhân vẫn sử dụng bảng cũ. Bảng mới sẽ được sử dụng tại
lần khởi động lại tiếp theo hoặc sau khi bạn chạy partprobe (8) hoặc kpartx (8)
Đồng bộ hóa đĩa.

Lưu ý rằng nó vẫn được gắn kết và có thể truy cập:

# mèo / mnt / tmp / thế giới 
xin chào

Nhận giảm giá

# cd / sys / lớp / khối / sdc

# ls
căn chỉnh_offset thiết bị @ event_poll_msecs power / ro nô lệ /
bdi @ Discard_alocation ext_range queue / sdc1 / stat
chủ sở hữu sự kiện khả năng / phạm vi sdc2 / hệ thống con @
dev event_async inflight kích thước có thể tháo rời uevent

# mèo sdc1 / bắt đầu
2048

# mèo sdc1 / kích thước
2097152

# mèo sdc2 / bắt đầu
2099200

# mèo sdc2 / kích thước
13539328

Khôi phục bảng phân vùng

# fdisk / dev / sdc
Chào mừng bạn đến với fdisk (produc-linux 2.22.2).

Thay đổi sẽ chỉ còn trong bộ nhớ, cho đến khi bạn quyết định viết chúng.
Hãy cẩn thận trước khi sử dụng lệnh ghi.


Lệnh (m để được giúp đỡ): n
Loại phân vùng:
   p chính (0 chính, 0 mở rộng, 4 miễn phí)
   e mở rộng
Chọn (p mặc định): p
Số phân vùng (1-4, mặc định 1): 1
Khu vực đầu tiên (2048-15638527, mặc định 2048): 2048
Khu vực cuối cùng, + ngành hoặc + kích thước {K, M, G} (2048-15638527, mặc định 15638527): +2097151
Phân vùng 1 loại Linux và kích thước 1 GiB được đặt

Lệnh (m để được giúp đỡ): n
Loại phân vùng:
   p chính (1 chính, 0 mở rộng, 3 miễn phí)
   e mở rộng
Chọn (p mặc định): p
Số phân vùng (1-4, mặc định 2): 2
Khu vực đầu tiên (2099200-15638527, mặc định 2099200): 2099200
Khu vực cuối cùng, + ngành hoặc + kích thước {K, M, G} (2099200-15638527, mặc định 15638527): +13539327
Phân vùng 2 loại Linux và có kích thước 6,5 GiB được đặt

Lệnh (m để được giúp đỡ): p

Đĩa / dev / sdc: 8006 MB, 8006926336 byte, 15638528 cung
Đơn vị = các lĩnh vực 1 * 512 = 512 byte
Kích thước ngành (logic / vật lý): 512 byte / 512 byte
Kích thước I / O (tối thiểu / tối ưu): 512 byte / 512 byte
Định danh đĩa: 0x000ce29c

   Khởi động thiết bị Hệ thống Id khối khởi động
/ dev / sdc1 2048 2099199 1048576 83 Linux
/ dev / sdc2 2099200 15638527 6769664 83 Linux

Lệnh (m để được giúp đỡ): w
Bảng phân vùng đã được thay đổi!

Gọi ioctl () để đọc lại bảng phân vùng.

CẢNH BÁO: Đọc lại bảng phân vùng không thành công với lỗi 16: Thiết bị hoặc tài nguyên bận.
Nhân vẫn sử dụng bảng cũ. Bảng mới sẽ được sử dụng tại
lần khởi động lại tiếp theo hoặc sau khi bạn chạy partprobe (8) hoặc kpartx (8)
Đồng bộ hóa đĩa.

!! Lưu ý rằng khi chỉ định khu vực cuối cùng, chúng tôi sử dụng kích thước - 1. !!

xác minh

Chúng ta hãy ngắt kết nối ổ đĩa, chạy partprobeđể báo cho kernel chọn bảng mới, sau đó kết nối lại và xác minh chúng tôi vẫn nhận được tệp của chúng tôi.

# umount / mnt / tmp /

# partprobe / dev / sdc

# gắn kết / dev / sdc2 / mnt / tmp

# mèo / mnt / tmp / thế giới 
xin chào

+1 Làm thế nào tôi muốn tôi có cơ hội để thử điều này tại thời điểm đó.
Vix

1

parted có một lệnh giải cứu có thể đánh hơi xung quanh để bắt đầu và độ dài của hệ thống tập tin nếu bạn biết nó ở đâu.


0

Nếu bạn tình cờ biết kích thước của đĩa NTFS, bạn "có thể" có thể đặt lại các kích thước này bằng fdisk hoặc chia tay nhưng tôi nghĩ bạn đã hết may mắn.

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.