Computer >> คอมพิวเตอร์ >  >> ระบบ >> Windows

การย้ายจาก Windows เป็น Linux - การจัดการดิสก์

วันนี้ ฉันต้องการแยกตัวออกจากเทมเพลตล่าสุดของบทช่วยสอน Windows-to-Linux ซึ่งเน้นที่การแสดงวิธีติดตั้ง กำหนดค่า และใช้งานโปรแกรมต่างๆ ซึ่งออกแบบโดยทั่วไปหรือมีไว้สำหรับ Windows เท่านั้น โดยใช้เฟรมเวิร์กอย่างเช่น ไวน์. สิ่งที่เราจะพูดถึงในวันนี้คือหัวข้อที่น่าสนใจเกี่ยวกับการจัดการดิสก์และไดรฟ์

นอกเหนือจากแอปพลิเคชันแล้ว ยังมีข้อมูลที่ต้องคำนึงถึงด้วย และข้อมูลมีความสำคัญต่อทุกสิ่ง สิ่งต่าง ๆ จะซับซ้อนเป็นพิเศษเมื่อพิจารณาถึงความแตกต่างที่สำคัญระหว่าง Windows และ Linux เดิมใช้ NTFS และข้อมูลถูกจัดระเบียบในไดรฟ์ (C:, D:, ฯลฯ) ลีนุกซ์จัดเก็บทุกอย่างไว้ภายใต้แผนผังระบบไฟล์เดียว (รูท, /) และใช้รูปแบบระบบไฟล์ที่แตกต่างกัน (เช่น ext4) แม้ว่าจะสามารถจัดการ NTFS ได้ แล้วจะเกิดอะไรขึ้นถ้าคุณพยายามย้ายสิ่งของของคุณ? บทช่วยสอนนี้เป็นคำแนะนำที่ดีสำหรับผู้ที่มองหาความเป็นระเบียบ เรียบง่าย และความชัดเจน

การอ่านเบื้องต้น

คู่มือนี้ไม่สามารถอยู่อย่างโดดเดี่ยวได้ มีกฎยากๆ ของฟิสิกส์ที่เราต้องปฏิบัติตาม ก่อนอื่น หากคุณไม่รู้อะไรเกี่ยวกับการจัดการดิสก์และ/หรือไดรฟ์ ระบบไฟล์ และอื่นๆ บทความนี้ไม่เหมาะสำหรับคุณ คุณต้องมีพื้นฐานเบื้องต้นของหลักการเหล่านี้ ขอให้เป็นจริง บทความนี้มีไว้สำหรับผู้สนใจ แม้ว่าจะมีประสบการณ์ใช้งานจริงเพียงเล็กน้อยใน Linux (แต่ตอนนี้)

ที่กล่าวว่า นี่คือบทความบางส่วนของฉันที่คุณควรอ่านก่อนที่จะเจาะลึกเพิ่มเติม:

บทช่วยสอนซอฟต์แวร์การแบ่งพาร์ติชัน GParted

สุดยอดคู่มือ Linux สำหรับ Windows มือใหม่

เหมือนแต่ต่างกัน

เอาล่ะ ตอนนี้เรารู้ศัพท์แสงและรายละเอียดทางเทคนิคแล้ว เรามาคุยกันเรื่องสถานการณ์กัน สมมติว่าคุณมีเครื่อง Windows ที่มีฟิสิคัลดิสก์สองแผ่นและพาร์ติชั่นดิสก์ทั้งหมดห้าพาร์ติชัน สมมติว่าเลย์เอาต์เป็นดังนี้:

  • ไดรฟ์ C:\ - ไฟล์ Windows และระบบปฏิบัติการหลัก ไฟล์โปรแกรม ข้อมูลผู้ใช้
  • ไดรฟ์ D:\ - การติดตั้งเกม (รวมถึง Steam)
  • ไดรฟ์ E:\ - ข้อมูลของผู้ใช้ (ไฟล์ ภาพยนตร์ เพลง เอกสาร ฯลฯ) ไม่ได้จัดเก็บไว้ใน My Documents และอื่นๆ
  • F:\ ไดรฟ์ (บนดิสก์ที่สอง) - ใช้สำหรับการสำรองข้อมูล ที่นี่ ข้อมูลผู้ใช้จะถูกคัดลอกสัปดาห์ละครั้ง
  • H:\ ไดรฟ์ (บนดิสก์ที่สอง) - ใช้สำหรับข้อมูลที่ไม่สำคัญ (ดาวน์โหลด วิดีโอดิบ ฯลฯ)

ตอนนี้ สมมติว่าเจ้าของคอมพิวเตอร์ที่มีการจัดเรียงดิสก์ต่อไปนี้สนใจที่จะเปลี่ยนไปใช้ Linux สิ่งที่พวกเขาทำมีดังนี้

พวกเขาแบ่งพาร์ติชันดิสก์ใหม่ โดยเฉพาะอย่างยิ่ง พวกเขาลดขนาดไดรฟ์ H:\ แล้วสร้างพาร์ติชันใหม่จำนวนหนึ่งในพื้นที่ว่าง (และตอนนี้ว่างเปล่า) จากนั้นพวกเขาจะติดตั้งการกระจาย Linux ที่นี่ ตอนนี้พวกเขาใช้ระบบดูอัลบูต และเมื่อพวกเขาเปิดเครื่องคอมพิวเตอร์หรือรีสตาร์ทเครื่อง พวกเขาจะเห็นเมนูที่อนุญาตให้พวกเขาเลือกว่าจะดำเนินการต่อในสภาพแวดล้อม Linux หรือ Windows

การย้ายจาก Windows เป็น Linux - การจัดการดิสก์

อย่างที่คุณเห็น ฉันได้สรุปสถานการณ์นี้และสถานการณ์ที่ค่อนข้างคล้ายกันในบทความดูอัลบูตต่างๆ ของฉัน เช่นเดียวกับบทความที่ลิงก์ไว้ด้านบน รวมถึงคู่มือ Windows 7 และ Ubuntu และ Windows 7 และ CentOS สิ่งนี้ควรเป็นจุดอ้างอิงที่ดีสำหรับการผจญภัยที่คล้ายกัน และช่วยให้คุณเข้าใจว่าความแตกต่างเริ่มต้นในการจัดการดิสก์ใน Linux จะมีลักษณะอย่างไร

ตอนนี้ผู้ใช้มีระบบที่มีสองระบบปฏิบัติการ อย่างไรก็ตามมีปัญหา ข้อมูลจำนวนมากยังคงอยู่ใน Windows และ/หรือบันทึก/เก็บไว้ในไดรฟ์ Windows ซึ่งจัดรูปแบบด้วยระบบไฟล์ NTFS มีคำถามหลายข้อที่นี่:

  • ผู้ใช้สามารถเข้าถึงข้อมูล Windows ได้หรือไม่
  • ผู้ใช้สามารถแก้ไขข้อมูล Windows ได้หรือไม่
  • ผู้ใช้สามารถย้ายข้อมูลจากไดรฟ์ Windows ไปยังระบบไฟล์ดั้งเดิมของ Linux บนพาร์ติชันอื่นได้หรือไม่
  • ผู้ใช้สามารถแปลง (หากต้องการ) ระบบไฟล์ NTFS เป็นระบบ Linux ดั้งเดิมได้หรือไม่

มาตอบคำถามเหล่านี้กันเถอะ!

  • Linux สามารถอ่านระบบไฟล์ NTFS ได้โดยไม่มีปัญหาใดๆ การแจกแจงส่วนใหญ่สนับสนุนสิ่งนี้โดยกำเนิด
  • ในทำนองเดียวกัน Linux สามารถเขียนไปยังระบบไฟล์ NTFS อย่างไรก็ตาม การแจกแจงทั้งหมดไม่ได้มีความสามารถนี้นอกกรอบ วิธีแก้ไขปัญหานี้คือการติดตั้งยูทิลิตี NTFS-3g ซึ่งมีฟังก์ชันการทำงานที่จำเป็น ตัวอย่างเช่น ในการกระจาย Red Hat เช่น CentOS หรือ AlmaLinux หรือ Rocky Linux:

sudo dnf ติดตั้ง ntfs-3g ntfsprogs

  • ผู้ใช้สามารถย้ายข้อมูลได้ อย่างไรก็ตาม ในสถานการณ์ข้างต้น อาจมีที่ว่างไม่เพียงพอในพาร์ติชัน Linux ที่สร้างขึ้นใหม่เพื่อรองรับข้อมูล Windows ทั้งหมด รวมถึงข้อมูล การสำรองข้อมูล และบิตอื่นๆ ของข้อมูล
  • การแปลงระบบไฟล์เป็นการดำเนินการที่มีความเสี่ยง ซึ่งอาจทำให้ข้อมูลสูญหายได้ ไม่ควรทำหากไม่มีการสำรองข้อมูลที่สมบูรณ์และตรวจสอบได้ แต่สำหรับเรื่องนั้น หากคุณมีข้อมูลสำรองอยู่แล้ว คุณอาจฟอร์แมตพาร์ติชันด้วยระบบไฟล์ดั้งเดิมและคัดลอกข้อมูลไป

ความทึบในการจัดการดิสก์

วิธีแก้ปัญหาการขาดแคลนพื้นที่ดิสก์และ/หรือเส้นทางการย้ายข้อมูลที่ง่ายดายคือการนำเสนอข้อมูล Windows ภายในระบบ Linux แต่ในลักษณะที่ง่ายต่อการมองเห็น รวมทั้งอนุญาตการสำรองข้อมูลที่ใช้งานได้จริง เพื่ออธิบายสิ่งที่ฉันหมายถึง ให้พิจารณาสิ่งต่อไปนี้:

ใน Linux เส้นทางทั้งหมดจะถูกแก้ไขเป็นรูทเดียว (/) ตัวอย่างเช่น /home/igor จะเป็นจุดเชื่อมต่อไปยังโฮมไดเร็กทอรีของผู้ใช้ชื่อ "igor" แต่การแมปทางกายภาพของไดเร็กทอรีนั้นสามารถอยู่ที่ใดก็ได้ อาจเป็นพาร์ติชันอื่น ดิสก์อื่น หรือแม้แต่ระบบอื่น (บนเครือข่าย) ตัวอย่างเช่น:

  • ระบบไฟล์รูท (/) เป็นจุดเชื่อมต่อสำหรับ /dev/sda1 (พาร์ติชันแรกบนดิสก์ตัวแรก)
  • home/igor เป็นไดเร็กทอรี ไม่ใช่จุดเชื่อมต่อแยกต่างหาก ข้อมูลอยู่บน /dev/sda1 (ดิสก์เดียวกัน)
  • อีกทางหนึ่ง เส้นทาง /home/igor สามารถแปลงเป็น /dev/sda2 หรือ /dev/sdc7 หรือแม้แต่การแชร์ NFS, CIFS หรือ Samba

ซึ่งหมายความว่าหากผู้ใช้เมานต์ไดรฟ์ Windows พวกเขาจะถูกนำเสนอใน Linux โดยเป็นส่วนหนึ่งของระบบไฟล์รูทเดียว และไม่จำเป็นต้องแยกแยะได้จากตำแหน่งหรือเส้นทางอื่น ตัวอย่างเช่น:

ระบบ Linux ส่วนใหญ่จะเมานต์อุปกรณ์แบบถอดได้ ภายนอก หรือไม่ใช่ Linux ภายใต้ /run/media หรือ /media ดังนั้น หากคุณเห็นไดเร็กทอรี 2 ไดเร็กทอรีภายใต้ตำแหน่งที่ตั้งเหล่านี้ ไม่ว่าจะตั้งชื่ออย่างไร คุณไม่จำเป็นต้องแยกความแตกต่างระหว่างไดเร็กทอรีเหล่านี้ หนึ่งอาจเป็นพาร์ติชันภายในที่ฟอร์แมตด้วย Windows NTFS และอีกอันอาจเป็นไดรฟ์ USB ฟอร์แมต FAT32

วิธีแก้ไข จากนั้น

เมื่อต้องการแก้ไขปัญหานี้ ฉันใช้วิธีต่อไปนี้:

  • ฉันสร้างไดเร็กทอรีระดับบนสุดใหม่ภายใต้รูทที่เรียกว่าไดรฟ์ (/drives)
  • ข้างใน ฉันสร้างไดเร็กทอรีที่จะทำหน้าที่เป็นจุดเชื่อมต่อสำหรับไดรฟ์ Windows โดยมีตัวอักษรเป็นตัวระบุ ตัวอย่างเช่น /drive/C จะใช้เป็นจุดเชื่อมต่อสำหรับไดรฟ์ C:\ และ /drive/E จะใช้เป็นจุดเชื่อมต่อสำหรับไดรฟ์ E:\ และอื่นๆ
  • ฉันสร้างกฎการเมานต์ถาวรสำหรับไดรฟ์ Windows ภายใต้ /etc/fstab (เพิ่มเติมเกี่ยวกับสิ่งนี้ในไม่ช้า) ซึ่งหมายความว่าเมื่อระบบบู๊ต ไดรฟ์ Windows จะถูกต่อเชื่อมเป็นอุปกรณ์ที่เขียนได้และแสดงเป็นไดเร็กทอรีภายใต้ตำแหน่ง /drives ระดับบนสุด

วิธีนี้รับประกันอะไร

วิธีนี้มีประโยชน์มากมาย:

  • ทำให้สามารถแยกเส้นทางระหว่าง Linux-only หรือ Pure Linux กับเส้นทาง Windows ได้อย่างชัดเจนและมองเห็นได้
  • ไม่ผสมอุปกรณ์/พาร์ติชันที่ไม่ใช่ Linux ทั้งหมดภายใต้ไดเร็กทอรีทั่วไป
  • การเรียกใช้สคริปต์สำรองช่วยให้มั่นใจได้ว่าไม่ใช่ทุกอย่างที่จะถูกคัดลอกหรือสำรองข้อมูล แต่เฉพาะสิ่งที่คุณต้องการเท่านั้น หากคุณกำลังสำรองข้อมูลทั้งหมดสำหรับระบบ Linux และคุณติดตั้งระบบไฟล์และไดรฟ์อื่นๆ ไว้ คุณไม่จำเป็นต้องรวมระบบเหล่านี้ไว้ในการสำรองข้อมูล และคุณไม่ต้องการบัญชีสำหรับทุกเส้นทางที่ "ไม่รู้จัก" .

นี่คือวิธีที่คุณสามารถทำได้

จากตัวอย่างก่อนหน้านี้ ขั้นตอนแรกคือการหาว่า Linux "เห็น" ฮาร์ดดิสก์ภายในอย่างไร และระบุไดรฟ์ของ Windows อย่างไร อีกครั้ง คุณต้องมีความชำนาญเล็กน้อยที่นี่ คุณสามารถใช้เครื่องมือบรรทัดคำสั่งเช่น fdisk เพื่อส่งออกรายการอุปกรณ์และพาร์ติชัน สมมติว่าต่อไปนี้:

  • /dev/sda1 - ไดรฟ์ C:\
  • /dev/sda2 - D:\ ไดรฟ์
  • /dev/sda3 - E:\ ไดรฟ์
  • /dev/sdb1 - F:\ ไดรฟ์
  • /dev/sdb2 - H:\ ไดรฟ์
  • /dev/sdb3 - ลินุกซ์รูท (/)
  • /dev/sdb4 - แลกเปลี่ยน Linux
  • /dev/sdb5 - ลินุกซ์โฮม (/home)

สร้างเส้นทางระดับบนสุด /drives และไดเร็กทอรีด้านล่าง (สำหรับไดรฟ์ Windows เท่านั้น):

sudo mkdir /drives
sudo mkdir /drives/C
sudo mkdir /drives/D
...

ตอนนี้ในฐานะ root หรือ sudo ให้สร้างข้อมูลสำรองของไฟล์ /etc/fstab แล้วแก้ไขในโปรแกรมแก้ไขข้อความ (เช่น nano):

sudo cp /etc/fstab /home/"ผู้ใช้ของคุณ"/fstab-backup
sudo nano /etc/fstab

ในโปรแกรมแก้ไขข้อความ ให้เพิ่มจุดเชื่อมต่อไปยังไดรฟ์ Windows ของคุณ

/dev/sda1 /drives/C ค่าเริ่มต้น ntfs-3g,locale=utf8 0 0
/dev/sda2 /drives/D ค่าเริ่มต้น ntfs-3g,locale=utf8 0 0
...

เรามีอะไรอยู่ที่นี่

  • เราระบุอุปกรณ์/พาร์ติชันจริงที่เราต้องการต่อเชื่อม
  • ระบุจุดเชื่อมต่อ
  • เราระบุระบบไฟล์ - ในกรณีนี้ เราใช้ไดรเวอร์ระบบไฟล์ ntfs-3g (ให้การเข้าถึงแบบอ่าน/เขียน)
  • เราระบุตัวเลือกการต่อเชื่อม - ทำให้ง่ายด้วยค่าเริ่มต้น บวกกับการเข้ารหัส UTF8
  • เราตั้งค่าสองฟิลด์สุดท้าย (ดัมพ์และ fsck) เป็น 0 ดังนั้นฟิลด์เหล่านี้จึงไม่รวมอยู่ในการทำงานของ Linux แบบคลาสสิก

นี่คือตัวอย่างจริงจากระบบของฉัน:

# <ระบบไฟล์> <จุดเชื่อมต่อ> <ประเภท> <ตัวเลือก> <การถ่ายโอนข้อมูล> <ผ่าน>
# / เปิด /dev/nvme0n1p5 ระหว่างการติดตั้ง
# /boot/efi เปิด /dev/nvme0n1p1 ระหว่างการติดตั้ง

UUID=7f4087e7-e572-44fd-a4a1-7489099937a0 / ext4 error=remount-ro 0 1
UUID=C05A-951D /boot/efi vfat umask=0077 0 1
/swapfile ไม่มี swap sw 0 0
/dev/nvme0n1p3 /drives/C ค่าเริ่มต้น ntfs-3g, locale=utf8 0 0

รายการที่ไม่มีหมายเหตุสามรายการแรกคือรายการเมานต์สำหรับระบบไฟล์ Linux รวมถึงรูท (/), /boot/efi ซึ่งจำเป็นสำหรับระบบ UEFI (นอกจากนี้ยังแสดงระบบไฟล์ VFAT) และ swapfile แทนที่จะเป็นพาร์ติชัน swap

รายการที่สี่คือการเพิ่มไดรฟ์ Windows โปรดทราบว่าตัวระบุอุปกรณ์ไม่ใช่ /dev/sdaXY แต่เป็น /dev/nvmeXnYp3 แทน เหตุผลนี้คือระบบมีฮาร์ดดิสก์ NVMe และระบบ Linux ระบุว่าแตกต่างจากอุปกรณ์ IDE/SATA/SCSI แต่สำหรับการใช้งานจริงทั้งหมด สัญกรณ์จะเหมือนกัน

สิ่งที่เรามีคือบัส NVMe แรก (0) ตัวแรก (1) อุปกรณ์ พาร์ติชันที่สาม (3) อีกครั้ง โปรดอ้างอิงคำแนะนำของฉันเกี่ยวกับการจัดการฮาร์ดดิสก์ก่อนหน้านี้ รวมถึงบทช่วยสอนของ GRUB เนื่องจากสัญลักษณ์สำหรับอุปกรณ์และพาร์ติชันนั้นแตกต่างกัน ดังนั้น ในตัวอย่างข้างต้น เราจึงติดตั้งพาร์ติชัน Windows ของเรา ซึ่งเป็นพาร์ติชันที่สามบนดิสก์ NVMe ภายใต้ /drives/C

คุณไม่จำเป็นต้องรีบูตเพื่อดูเอฟเฟกต์ เพียงแค่ติดตั้งทุกอย่างใหม่:

sudo เมานต์ -a

ตอนนี้ ไดรฟ์ Windows ของคุณจะถูกต่อเข้ากับพาธที่เกี่ยวข้อง และคุณสามารถดูข้อมูลได้ ขั้นตอนต่อไปคือการทำให้ข้อมูลที่เมาท์ใช้และเข้าถึงได้ง่ายขึ้น

ตัวจัดการไฟล์และไดรฟ์ของ Windows

หากคุณต้องการใช้ข้อมูลจาก GUI (ไม่ใช่บรรทัดคำสั่ง) คุณสามารถทำตามเคล็ดลับต่อไปนี้:

  • สร้างลิงก์สัญลักษณ์ในโฮมไดเร็กทอรีของคุณไปยังไดรฟ์ที่ติดตั้ง
  • โดยเฉพาะอย่างยิ่ง ให้เชื่อมโยงแต่ละไดรฟ์ (ตัวอักษร) เป็นสัญลักษณ์ไปยังโฟลเดอร์ที่มีตัวระบุที่มีความหมาย เช่น ชื่อไดรฟ์ของ Windows

ln -s /drives/C ~/Windows

คำสั่งด้านบนจะสร้างลิงก์สัญลักษณ์ในโฮมไดเร็กตอรี่ของคุณ Windows จะจับคู่กับ /drives/C ซึ่งเป็นจุดเชื่อมต่อไปยังไดรฟ์ C:\ ดังนั้นเมื่อคุณคลิกที่โฟลเดอร์ Windows ในตัวจัดการไฟล์ Linux คุณจะเห็นเนื้อหาของไดรฟ์ Windows

การย้ายจาก Windows เป็น Linux - การจัดการดิสก์

ตอนนี้ คุณสามารถก้าวไปอีกขั้นและสร้างทางลัดไปยังไดรฟ์เหล่านี้ ตัวอย่างเช่น ในสภาพแวดล้อมเดสก์ท็อป Plasma คุณสามารถเพิ่มทางลัดไปยังแถบด้านข้างได้ ดังนั้น Windows จะจับคู่กับ /drives/C เกมจะจับคู่กับ /drives/D ข้อมูลจะจับคู่กับ /drives/E เป็นต้น ขั้นตอนต่อไปคือการเพิ่มงานสำรองลงในโฟลว์ แต่นั่นเป็นหัวข้อสำหรับบทช่วยสอนอื่น

บทสรุป

บทช่วยสอนของฉันไม่ใช่จอกศักดิ์สิทธิ์ของการจัดการข้อมูล ไกลจากมัน. แต่มันให้คำแนะนำที่สวยงามสำหรับปัญหาทั่วไปที่ผู้คนอาจต้องเผชิญในการเปลี่ยนจาก Windows เป็น Linux นำเสนอวิธีการนำเสนอข้อมูล Windows ในลักษณะที่มองเห็นได้และใช้งานง่าย ไม่รวมถึงการดำเนินการทำลายล้างใดๆ ช่วยให้สำรองข้อมูลและแยกข้อมูลได้สะดวก และช่วยให้ผู้ที่เคยชินกับเวิร์กโฟลว์ของ Windows สามารถปรับตัวให้เข้ากับสภาพแวดล้อมใหม่อย่างช้าๆ โดยไม่กระทบต่อเบาะแสที่คุ้นเคยหรือเวิร์กโฟลว์ที่กำหนดไว้

เมื่อติดตั้งไดรฟ์สำหรับ Windows เท่านั้นในเส้นทางของตัวเอง ลิงก์สัญลักษณ์เพื่อให้คุณเข้าถึงได้สะดวกผ่านเครื่องมือ GUI และการแมปแบบลอจิคัล ตอนนี้คุณควรมีรากฐานที่ดีและมั่นคงสำหรับการย้ายข้อมูลของคุณ ขั้นตอนต่อไปคือตรวจสอบให้แน่ใจว่าได้สำรองข้อมูลสำคัญของคุณแล้ว เนื่องจากข้อมูลที่ไม่มีการสำรองข้อมูลเป็นเพียงโศกนาฏกรรมที่รอให้เกิดขึ้น เราจะพูดถึงเรื่องนั้นรวมถึงเคล็ดลับในชีวิตประจำวันอื่นๆ อีกมากมายในบทความต่อๆ ไป สำหรับตอนนี้ ไตร่ตรองสักเล็กน้อยเกี่ยวกับโครงร่างข้อมูลที่ฉันสรุปไว้ข้างต้น และคอยติดตามคู่มือการตั้งค่าโปรแกรมเพิ่มเติม แล้วพบกันใหม่

ไชโย.