예비

예비

나는 2개의 대형 LVM 드라이브가 있는 자체 제작 800MHz Intel Atom 기반 미디어 서버와 250GB 2.5" 드라이브에 Debian 9를 가지고 있습니다. 후자에 불량 블록이 표시되어 있으므로 교체할 계획입니다.

Debian 라이브 CD에서 부팅하고 전체 250GB 디스크 표면을 새 WD Blue 1TB 드라이브에 추가하고 dd if=/dev/sda of=/dev/sdd새 디스크를 USB-SATA 커넥터에 연결했습니다. 그런 다음 미디어 서버에 드라이브를 설치하고 250GB 드라이브를 교체했습니다. 드라이버 ID가 인쇄된 직후, 부트 로더가 시작되기 전, 시작 시 시스템이 멈춥니다. 부트로더는 grub 레거시입니다. 라이브 CD에서 부팅하고 클론으로 루트를 변경했는데 제대로 작동하는 것 같았습니다. 그래서 LVM 볼륨을 마운트하고 grub2를 새로운 /dev/sda에 설치했는데 작동했다고 합니다. 그러나 새 하드 드라이브에서 부팅하면 여전히 이전처럼 시스템이 잠깁니다. 또한 예상대로 update-initramfs -u -k all, grub-install, 및 whathaveyou 를 실행했습니다 .update-grub

그런 다음 시도했습니다.이 부팅 복구 디스크이 역시 성공을 주장하지만 결과에는 영향을 미치지 않습니다. 전원을 켠 후 기기가 너무 일찍 중단됩니다.

누군가 나에게 드라이브 전면 근처에 작은 /boot 파티션이 없다고 경고했기 때문에 지금 파티션을 만들었습니다. 다르지 않습니다. 또한 첫 번째 파티션 앞에 6MB의 간격을 두고 4K 섹터를 정렬하는 등 매번 전체 grub 설치 및 부팅 복구 디스크 시도를 반복해 보았습니다. 매번: 부팅되지 않고 BIOS 화면으로 이동하기 전에 충돌이 발생하지만 CD에서 부팅하고 CD로 루트할 수 있으므로 데이터가 손상되지 않은 것처럼 보입니다.

오래된 드라이브를 개조하는 것은 현재로서는 매우 효과적입니다.

매우 간단한 시스템으로, MBR msdos 스타일 부팅, EFI 없음, 운영 체제만 설치되어 있습니다.

1TB 드라이브에 복제된 이전 250GB 드라이브에서 머신이 부팅되지 않는 데에는 타당한 이유가 있습니까? 어떻게 알 수 있나요? 드라이브 ID는 /boot/grub내가 찾을 수 있는 어디에도 나타나지 않습니다. 모두 UUID입니다.

이전 드라이브에는 512B의 물리적 섹터가 있었고 새 드라이브에는 4096B의 물리적 섹터가 있었지만 512B 에뮬레이션이 있었습니다. 그렇죠?

다음은 새 드라이브에 대해 부팅 복구 CD를 실행한 결과의 일부입니다.

Drive: sda _____________________________________________________________________
Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos

Partition  Boot  Start Sector    End Sector  # of Sectors  Id System

/dev/sda1    *      1,036,288   477,345,791   476,309,504  83 Linux
/dev/sda2         477,347,840 1,953,525,167 1,476,177,328   5 Extended
/dev/sda5         477,349,888   489,932,799    12,582,912  83 Linux
/dev/sda3              12,288     1,036,287     1,024,000  83 Linux


Drive: sdb _____________________________________________________________________
Disk /dev/sdb: 7.3 TiB, 8001563222016 bytes, 15628053168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt

Partition  Boot  Start Sector    End Sector  # of Sectors  Id System

/dev/sdb1                   1 4,294,967,295 4,294,967,295  ee GPT


GUID Partition Table detected.

Partition  Attrs   Start Sector    End Sector  # of Sectors System
/dev/sdb1                    3415,628,048,06415,628,048,031 Logical Volume Manager (LVM) partition (Linux)

Attributes: R=Required, N=No Block IO, B=Legacy BIOS Bootable, +=More bits set

Drive: sdc _____________________________________________________________________
Disk /dev/sdc: 2.7 TiB, 3000592982016 bytes, 5860533168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt

Partition  Boot  Start Sector    End Sector  # of Sectors  Id System

/dev/sdc1                   1 4,294,967,295 4,294,967,295  ee GPT


GUID Partition Table detected.

Partition  Attrs   Start Sector    End Sector  # of Sectors System
/dev/sdc1                 2,048 5,860,532,223 5,860,530,176 Logical Volume Manager (LVM) partition (Linux)

Attributes: R=Required, N=No Block IO, B=Legacy BIOS Bootable, +=More bits set

"blkid" output: ________________________________________________________________

Device           UUID                                   TYPE       LABEL

/dev/loop0                                              squashfs   
/dev/mapper/exported-archive 4b899a61-2f1c-4cd8-bc32-ce435912ba87   ext3       
/dev/mapper/exported-media 36a5370f-d49a-4da3-9bc8-fefa0d005f4f   ext3       
/dev/mapper/exported-photos af677e44-2a83-4aba-8b37-c38c3b07a10b   ext3       
/dev/mapper/exported-web 27040136-28bf-464d-9802-c20511ad661f   ext3       
/dev/sda1        7788ea31-5e63-4869-a80e-40c99c6128b3   ext3       
/dev/sda3        6f547317-4688-435f-a69d-787bf7262f29   ext3       boot
/dev/sda5        a311a5cb-4f03-4930-a028-bf87b4dd8e55   swap       swap
/dev/sdb1        yGbmYE-Lvk1-8lZj-0xQz-u57b-L1sV-0RjV66 LVM2_member 
/dev/sdc1        ShaGRu-GqRZ-4fS3-k0zp-g5x4-5Kae-uLoC9o LVM2_member 
/dev/sr0         2017-10-29-01-25-15-00                 iso9660    Boot-Repair-Disk 32bit
/dev/zram0       a9802c34-25bd-4f6f-b3e5-d75c62fe8adc   swap       
/dev/zram1       5ea34823-7d6a-4ac5-bb49-7fa9c8bbecea   swap       
/dev/zram2       dcc2c96c-1f33-4604-b5ac-d62964731bd4   swap       
/dev/zram3       0eb6d924-359e-4fed-b904-788ce185bb0a   swap       

답변1

예비

이미 백업이 있다고 가정합니다. 중복성은 데이터 가치에 정비례합니다!
dd그리고 타르볼

그래서... 완전한 장치를 만드셨네요 dd어... 어.
불량 블록의 소스 디스크의 두 배입니다. 완전히 다른 소스 및 대상 디스크 아키텍처용

다음은 몇 가지 사소한 개선 사항입니다(단지 완전성을 목적으로 함). 실제 이점은 기대하지 않습니다. 제가 추천하는 것은 다음과 같습니다

파티션 dds

새 디스크를 dd각 파티션에 개별적으로 분할합니다.

파티션 복사

새 디스크를 수동으로 분할합니다. 고급 복사 파일 시스템. 나에게 문제를 cp -a가져왔다tar c... source|tar x... target

그러나 나는 당신이 이미 위의 방법을 시도했지만 성공하지 못했다고 가정합니다. 그래서…

새 디스크를 사용할 수 있나요?

새 디스크에 새로운 데비안을 설치해보세요. 효과적인가요?

그렇지 않다면 우리는 물론 완전히 다른 문제를 다루고 있는 것입니다.

그렇다면 그렇다고 가정하면

나란히

[단순화를 위해 LV 항목은 피한다고 가정합니다.]

  • 새 운영 체제를 설치할 때(위) 수동으로 파티션을 나누고 선택하십시오.루트 시스템 - 하나는 현재(새) 설치용이고 다른 하나는 이전(사본) 설치용입니다. DebCurrent DebOld로 표시해 보겠습니다.
  • DebCurrent에서 새 설치를 진행합니다.
  • 이전 디스크 루트를 Debold에 복사
  • /etc/fstabDebold를 다시 클릭하세요.
  • [DebCurrent가 시작되었다고 가정]
  • 부팅할 때
    • 그럽 프롬프트를 입력하세요
    • DebCurrent 작업 섹션 열기
    • DebOld를 가리키도록 수동으로 편집하여 부팅해 보세요.

하지만... (아마도) 문제는 남아있습니다. 이것은

하드웨어 불일치 문제

아마도 문제는

  • 오래된 마더보드(MBR-BIOS)
  • 새로운 디스크 - gpt 선호

아이오와기본값예:

old: BIOS-MB + MBR-disk
new: EFI-MB + gpt-disk

즉, Windows 세계에서는 새로운 EFI MB에 더 많은 비용을 지출하지 않고는 방법이 없습니다.

그러나 리눅스 세계에서는 다음을 사용할 수 있습니다.BIOS-MB가 포함된 GPT 디스크 핵심은 디스크 시작 부분 근처에 작은 1MB의 특수 BIOS 부팅 파티션인 BBP를 생성해야 한다는 것입니다.

당신은 이것을 할 수 있습니다헤어졌다모든 gpt 작업을 완료하는 것이 좋지만gdisk

나중에 추가

bpp를 만들다

gpt 디스크의 경우 실제 파티셔닝은 gdisk를 사용하여 수행하는 것이 좋습니다. 이렇게 하면 정렬이 잘 유지됩니다. 그런 다음 (g)parted를 사용하여 유형을 BBP로 표시하는 것이 더 쉬울 수 있습니다. 위의 parted 및 gdisk 링크를 참고하세요.

관련 정보