Cập nhật cuối cùng:
Tôi đã biết những gì tôi cần làm để khắc phục vấn đề này; Tôi chỉ không biết làm thế nào để làm điều đó. Tôi đã hy vọng sẽ có một số công cụ làm sẵn để tự động làm điều đó - nhưng không thể tìm thấy bất kỳ công cụ nào. Tôi chấp nhận câu trả lời của Rod vì mặc dù không trực tiếp giải quyết vấn đề của tôi, nhưng nó cho một nền tảng rất tốt về vấn đề quy mô ngành và khiến tôi tự tin rằng vấn đề thực sự là liên kết phân vùng và giải quyết. Đối với những người đi đến câu hỏi này có cùng một vấn đề, hãy đọc kỹ và cẩn thận, bao gồm cả ý kiến, trước khi làm bất cứ điều gì.
Ở thời điểm bắt đầu
Tôi đã có một máy tính và cần thêm dung lượng Tôi đã mua một ổ đĩa 500 GB mới và một hộp đựng USB. Ngay sau đó tôi đã nhận thấy rằng nếu tôi phân vùng ổ đĩa trên vỏ và di chuyển nó vào máy tính, nó sẽ không nhận ra các phân vùng (và ngược lại). Tôi cho rằng đó là một vấn đề với vỏ bọc và không lo lắng về nó.
Sau đó, bi kịch
Một ngày tuyệt vời, máy tính của tôi quyết định không bật nữa. Hóa ra bo mạch chủ (không có thương hiệu, chỉ là một MADE IN TRUNG QUỐC lớn được in trên đó) đã chết. Tôi đã sử dụng nó như một máy chủ tệp và ổ đĩa 500 GB đó hiện chứa đầy dữ liệu mà tôi không thể để mất. Bây giờ tôi đã phá vỡ và không thể mua được một máy tính mới, vì vậy hy vọng duy nhất của tôi là vỏ USB "bị lỗi".
Cuộc điều tra
Được trang bị một số bản phân phối Linux, máy tính xách tay, VirtualBox và bao vây tôi đã phân tích pháp y về vấn đề này. dmesg báo cáo kích thước phân vùng vượt quá cuối ổ đĩa. Vì vậy, tôi đã đi qua các bảng dữ liệu ổ cứng, tính toán số lượng khu vực từ đầu, kiểm tra ranh giới ổ đĩa bằng tay với dd và mọi thứ đều ổn, cho đến khi tôi kích hoạt fdisk và nó nói:
Note: Sector size is 4096 (not 512).
Làm thế nào khiêm tốn của fdisk. "Ghi chú" này là gốc rễ của tất cả các vấn đề. Sau một số khó khăn hơn, những kết luận này đã được rút ra:
Vỏ USB không bị lỗi.
Bộ điều khiển SATA trên bo mạch chủ đã chết, ít nhất là "lạ". Nó không báo cáo các cung 4096 byte cho hệ điều hành, vì vậy HĐH đã vui vẻ tạo MBR bằng cách sử dụng các địa chỉ sector 512 byte.
Bây giờ khi tôi cố gắng truy cập vào phân vùng, HĐH sẽ cố gắng sử dụng các địa chỉ dựa trên 512 byte trên ổ đĩa 4096 byte, và tất nhiên, nó sẽ không hoạt động.
Câu hỏi
Vì vậy, làm cách nào tôi có thể sửa các địa chỉ trong MBR để chúng hợp lệ trên kích thước cung 4096 byte, ngoài việc chỉnh sửa thủ công MBR trên trình soạn thảo hex và
Các phân vùng không được căn chỉnh cho các lĩnh vực 4096 byte. Có một số công cụ có sẵn để sắp xếp chúng ngoài việc sao chép vào và ra khỏi ổ đĩa khác? (Tôi không có ổ đĩa dự phòng), hoặc tôi sẽ cần tạo một số công cụ "dịch chuyển" dữ liệu sang một bên một chút? Phân vùng là ext3.
Cảm ơn!
Cập nhật:
Tôi thấy có một cách thông minh để sử dụng dd để dịch chuyển phân vùng tại chỗ trong câu hỏi này: Làm thế nào để di chuyển một phân vùng trong GNU / Linux? Nhưng tôi không biết nếu nó sẽ hoạt động trên một lát của một khu vực, mặc dù. Tôi không thể kiểm tra nó ngay bây giờ nhưng sẽ làm khi tôi có thời gian.
Cập nhật 2:
Vì vậy, tôi đã căn chỉnh thành công phân vùng bằng phương pháp trên và chỉnh sửa MBR bằng tay trên trình soạn thảo hex. Ngay sau khi tôi cắm lại ổ cứng, phân vùng boom tự động được gắn! Mặc dù vậy, tôi không khuyến nghị điều này, có lỗi I / O trong quá trình này và tôi có thể mất tất cả mọi thứ, xem bình luận về câu trả lời của Rod. Đối với phân vùng khác, tôi sẽ không chấp nhận rủi ro và sẽ sử dụng một ổ cứng cũ và căn chỉnh các khối tại một thời điểm bằng cách sao chép dữ liệu và sau đó dán lại vào một vị trí khác.
fdisk
để chỉnh sửa MBR (Tôi đã học được điều này sau, không cần trình soạn thảo hex :)) Bạn có thể thay đổi từng điểm bắt đầu và kích thước mục nhập và xem xét các thay đổi trước khi áp dụng. Vì vậy: bắt đầu fdisk
, ghi lại cấu hình hiện tại (hoặc tốt hơn, sao lưu MBR bằng dd
), nhân địa chỉ bắt đầu và giá trị kích thước với 8 và thay đổi chúng. Hãy chắc chắn kiểm tra mọi thứ bằng máy tính và để hiểu ý nghĩa của các giá trị. Bạn sẽ thấy Kích thước = Kết thúc - Bắt đầu + 1 và fdisk
hiển thị kích thước theo đơn vị 1000 ngành, do đó bạn có thể cần bật chế độ chuyên gia để xem giá trị thực, v.v.