หลายครั้งโดยเฉพาะอย่างยิ่งเมื่อเกิดความยุ่งเหยิงเราพบว่าตัวเองมีปัญหาในการไม่สามารถเข้าถึงระบบเพื่อซ่อมแซมได้ แต่วิธีแก้ปัญหานั้นง่ายมาก: ใช้คำสั่ง โครต จาก LiveCD / RepairCD ใด ๆ
ในหลาย ๆ ที่ (ฟอรัมบล็อก ... ) มีการกล่าวถึงคำสั่งนี้และมีการ "คัดลอก / วาง" ของโค้ด แต่ความตั้งใจของฉันในโพสต์นี้คืออธิบายขั้นตอนเหล่านั้นเล็กน้อยเพื่อให้สามารถใช้ประโยชน์ได้ดี เครื่องมือที่มีความรู้เกี่ยวกับสาเหตุ
การแนะนำ
คำสั่ง โครต เป็นที่รู้จักกันในชื่อ CHangeROOT นั่นคือคำสั่งที่ให้คุณเปลี่ยนรูทของระบบที่คุณกำลังทำงานอยู่ กล่าวอีกนัยหนึ่ง: หากคุณมาจาก LiveCD และต้องการให้ทุกสิ่งที่คุณกำลังทำงานบนคอนโซลมีผลต่อระบบที่ติดตั้งก่อนอื่นคุณต้องใช้ประโยชน์จาก โครต.
ปัญหาคือไม่เพียงพอต่อการใช้งาน โครต ดังนั้นก่อนที่เราจะต้องติดตั้งพาร์ติชันบางอย่าง
ทำอย่างไร
ก่อนอื่นเราต้องเริ่มต้นเทอร์มินัลไม่ว่าจะจากระบบอื่นที่ติดตั้ง (บนพาร์ติชัน / ดิสก์อื่น) หรือจาก LiveCD สิ่งสำคัญ: สถาปัตยกรรมของ LiveCD ต้องตรงกับระบบที่จะซ่อมแซม (32 หรือ 64 บิต)
เมื่อเราอยู่ในเทอร์มินัลเราจะเริ่มต้นด้วยการระบุพาร์ติชันของเรา:
fdisk -l
- ด้วยคำสั่งนี้เราจะแสดงรายการพาร์ติชัน / ดิสก์ทั้งหมดของเรา เราต้องระบุว่าเป็นพาร์ติชันเป้าหมายที่ติดตั้งระบบของเราเพื่อซ่อมแซมจากนี้ไปเราจะเรียกมันว่า ระบบเสีย.
สำหรับตัวอย่างนี้เราจะพิจารณาว่าระบบเสียของเราอยู่ใน / dev / sda1 .
เราไปประกอบระบบ ขั้นแรกเราจะสร้างโฟลเดอร์ที่เราจะทำงานและต่อมาเราติดตั้งพาร์ติชันที่ระบบเสียของเราอยู่ในโฟลเดอร์นั้น
mkdir /mnt/my_linux
mount /dev/sda1 /mnt/my_linux
หากคุณมีโฟลเดอร์ / หน้าแรก o / var หรืออื่น ๆ บนพาร์ติชันอื่นคุณควรติดตั้งดังต่อไปนี้:
mount /dev/sda2 /mnt/my_linux/var
- หมายเหตุ: ฉันได้ใช้พาร์ติชัน / dev / sda2 สำหรับโฟลเดอร์ / var เป็นตัวอย่างให้แต่ละคนปรับรหัสตามลักษณะของมัน
โดยปกติสิ่งนี้จะเพียงพอหากคุณต้องการแก้ไขไฟล์ด้วยมือ แต่ถ้าเราต้องการเรียกใช้คำสั่งบางอย่างที่กำหนดค่าระบบเราจำเป็นต้องติดตั้งโฟลเดอร์ระบบพิเศษบางโฟลเดอร์: / dev, / proc y / sys.
mount -t proc proc /mnt/my_linux/proc
mount -t sysfs sys /mnt/my_linux/sys
mount -o bind /dev /mnt/my_linux/dev
- พร้อมตัวเลือก -t เราบอก ภูเขา ประเภทของ "ระบบไฟล์" ที่เราต้องการติดตั้ง จำเป็นต้องระบุเนื่องจากลักษณะพิเศษของโฟลเดอร์ / proc y / sys.
- พร้อมตัวเลือก -o เราระบุตัวเลือกของ ภูเขา. ทางเลือก ผูก มันทำหน้าที่ "เชื่อมโยง" ใน UNIX อุปกรณ์ฮาร์ดแวร์ทั้งหมดสามารถเข้าถึงได้ผ่านโฟลเดอร์ / devนั่นคือเหตุผลที่เราต้องยึดกระแสของเรา / dev ในโฟลเดอร์ที่ระบบเสียของเราอยู่ในขณะนี้ เนื่องจากโฟลเดอร์นี้ติดตั้งแล้วจึงจำเป็นต้องบอกเท่านั้น ภูเขา ที่เดิมติดตั้ง
ก็ทำแบบนี้แหละ โครต เข้าถึงโฟลเดอร์เหล่านี้ได้ราวกับว่าเป็นระบบที่เสียแม้ว่าจะต้องมาจากระบบปัจจุบัน (เช่นเซสชัน LiveCD) เนื่องจากเกี่ยวข้องกับสถานะของระบบกระบวนการและฮาร์ดแวร์
ตอนนี้เป็นเวลาที่จะใช้ โครต:
chroot /mnt/my_linux/ /bin/bash
- คำสั่งจะถูกส่งผ่านเป็นอาร์กิวเมนต์เส้นทางของรูทใหม่« / » (ซึ่งในกรณีของเราคือ / mnt / my_linux) และคอนโซลที่คุณต้องการใช้ (ในกรณีนี้เราได้เลือกใช้ bash ที่รู้จักกันดีซึ่งพบได้ใน / bin / bash). หากเราไม่ระบุคอนโซลเราจะพบว่าตัวเองอยู่ก่อนตัวแปลคำสั่งที่ค่อนข้างเก่า (ไม่เติมเมื่อกดแท็บ ฯลฯ )
ตอนนี้เราสามารถใช้คอนโซลราวกับว่าเราเริ่มต้นเซสชันรูทบนระบบที่เสียของเรา (แก้ไขไฟล์ตรวจสอบสคริปต์ติดตั้ง / ถอนการติดตั้งแพ็คเกจ ... ) คำเตือน! เพื่อให้การเปลี่ยนแปลงมีผลคุณต้องยกเลิกการต่อเชื่อมระบบไฟล์หลังจากออกจากระบบ โครตดูตัวอย่างด้านล่าง
ข้อมูลเพิ่มเติมได้ที่ https://wiki.archlinux.org/index.php/Change_Root (มากกว่าการอ่านที่แนะนำ)
ตัวอย่างการใช้งาน: เรียกคืน GRUB2
หนึ่งในการใช้งานที่แพร่หลายที่สุดของ โครต เป็นเครื่องมือในการซ่อมแซมด้วง เนื่องจากหากด้วงแตกจึงเป็นไปไม่ได้ที่จะบูตระบบของเราเพื่อแก้ไขปัญหานี้
ข้อสังเกต: บทช่วยสอนเล็ก ๆ น้อย ๆ นี้เป็นเพียงตัวอย่างเท่านั้นซึ่งใช้งานได้กับการกระจายต่างๆที่ได้มาจาก Debian, Ubuntu และ openSUSE เป็นต้น อย่างไรก็ตามให้ตรวจสอบเอกสารการแจกจ่ายของคุณเนื่องจากไม่พบคำสั่งในหลายคำสั่ง ปรับปรุงด้วง
# หมายเหตุ: คำสั่งเหล่านี้ทำงานหนึ่งครั้งภายใน chrootupdate-grub
grub-install /dev/sda
- กับ ปรับปรุงด้วง เราอัปเดตเมนูป้อนข้อมูลของ GRUB2 จึงเพิ่มอินพุตที่ขาดหายไป ต่อมาเราติดตั้ง GRUB บนดิสก์ของเราใหม่เนื่องจากได้รับความเสียหาย
ในกรณีนี้ฉันได้ดำเนินการ / dev / SDA เช่นเดียวกับอัลบั้มที่เรามีระบบของเราสิ่งนี้จะต้องปรับให้เข้ากับกรณีของคุณ
GRUB ของเราควรได้รับการซ่อมแซมแล้วดังนั้นเราจึงต้องออก โครตยกเลิกการต่อเชื่อมระบบไฟล์ (สำคัญ) และรีบูตเพื่อให้การเปลี่ยนแปลงมีผล หากเราลืมยกเลิกการต่อเชื่อมระบบไฟล์อาจเป็นไปได้ว่าการรีบูตไฟล์จะไม่สามารถยกเลิกการต่อเชื่อมได้อย่างถูกต้องดังนั้นการเปลี่ยนแปลงบางอย่างจะไม่มีผล
# เราออกจาก chrootexit
# ยกเลิกการต่อเชื่อมระบบไฟล์และรีบูตumount /mnt/my_linux/dev
umount /mnt/my_linux/sys
umount /mnt/my_linux/proc
umount /mnt/my_linux
reboot
และนั่นคือทั้งหมด ฉันหวังว่าคุณจะสนุกกับมันและมันจะช่วยคุณได้ คำอวยพร!
ก็ใช้ได้นะ .. ถึงจุดหนึ่งก็ต้องใช้
คุณเคยใช้ Chakra Benz หรือไม่? ถ้าเป็นเช่นนั้นคุณช่วยบอกฉันได้ไหมว่า
ง่ายสำหรับผู้ใช้ทั่วไปหรือไม่? ฉันใช้ SolydK ซึ่งง่ายมาก แต่
ฉันเข้าใจว่า Chakra เป็น KDE ที่บริสุทธิ์และทำให้ฉันสนใจ
ใช่จักระนั้นดีมากและง่ายไม่มากก็น้อยก็คือการติดตั้ง / ถอนการติดตั้งแพ็คเกจที่คุณต้องทำกับคอนโซลเนื่องจากพวกเขายังคงทำงานกับโปรแกรมจัดการแพ็คเกจกราฟิก ลองดูเพราะคุ้มมาก มันใช้ตัวจัดการแพคเกจ pacman ซึ่งสืบทอดมาจาก Archlinux แต่ระวังมันจะไม่แชร์ที่เก็บกับ arch และมันเข้ากันไม่ได้กับมัน หากคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ pacman โปรดดูที่ arch wiki https://wiki.archlinux.org/index.php/Pacman_%28Espa%C3%B1ol%29
Oktopi มีความเสถียรอยู่แล้วและใช้งานได้ดีสำหรับผู้ใช้ทั่วไปโดยที่คุณไม่จำเป็นต้องใช้เทอร์มินัลเพื่อใช้ Pacman
ฉันหวังว่าโพสต์นี้จะมีผู้เยี่ยมชมหลายคนจากนั้นพวกเขาก็เริ่มต้นการติดตั้งใหม่สำหรับทุกสิ่งเมื่อด้วย chroot คุณสามารถซ่อมแซมระบบได้เกือบตลอดเวลา chroot ช่วยให้คุณมีโอกาสมากมายรวมถึงการติดตั้ง Gentoo xD ด้วยฮ่า ๆ
ดีมากขอบคุณ ... ฉันไม่เคยให้ลูกบอลเพราะซีดีสดสำหรับการซ่อมแซมสำหรับฉันดูเหมือนว่าพวกเขาจะยกมันขึ้นโดยปริยาย แต่ตอนนี้มันชัดเจนแล้วขอบคุณอีกครั้ง
เพื่อให้เสร็จสมบูรณ์มันจะเป็นการดีที่จะอธิบายวิธีการเมานต์พาร์ติชัน LVM พาร์ติชันที่เข้ารหัสและระบบ RAID
mmm ฉันไม่ได้สัมผัส LVM และ RAID มานานแล้ว แต่คุณช่วยแจ้งให้ฉันทราบหน่อยเพื่อทำสิ่งนี้ให้เสร็จ ... ขอบคุณสำหรับเคล็ดลับ!
ความจริงก็คือฉันสามารถใช้งานได้ดี
จะได้รับการชื่นชมมาก
ลองดูวิกินี้มันเจ๋งมาก http://wiki.bandaancha.st/RAID_y_LVM_en_Linux
หากมีเพียงหัวข้อนี้ในสองสามสัปดาห์ต่อมาปรากฎว่าฉันมีปัญหากับระบบของฉันและฉันอ่านและอ่านและทุกที่ที่ฉันพบ chroot และ blablabla แต่มันไม่ได้ผลสำหรับฉันตามคำแนะนำของไลฟ์ที่เป็น เช่นเดียวกับระบบของคุณสำคัญมากเพราะฉันใช้ x64 อีกอันคือการเมานต์พาร์ติชันระบบเพราะในกรณีของฉันเมื่อฉันใช้ chroot และการติดตั้งฉันกำลังโยนคำสั่งและมันก็ไม่รู้จักคำสั่ง
หัวข้อนี้จะไปที่ไฟล์ "การรวบรวมข้อมูล" ของฉัน
Arch LiveCD (ด้วยเครื่องมือนี้) คือสิ่งที่จำเป็นในการแก้ไขระบบของคุณเมื่อคุณทำลายมัน
เป๊ะ! .. .. มันคือทั้งหมดที่จำเป็น .. แม้จะช่วยใครสักคนด้วย W $ ของพวกเขาที่ตัดสินใจไม่เริ่ม ..
ฉันมักจะมีเพนไดรฟ์ 1gb กับ Arch live อยู่เสมอ ... และ chroot เป็นสิ่งที่จำเป็นดังนั้นใน 10 นาทีคุณจะมีทุกอย่างตามลำดับโดยไม่ต้องตื่นตระหนก .. 😉
คุณเพียงแค่ต้องรู้วิธีการทำ
สวัสดีสังเกตว่าฉันมีปัญหากับ centos มันส่งเคอร์เนลตกใจเป็นต้น และฉันไม่สามารถแก้ไขได้ฉันมีเว็บไซต์และฐานข้อมูลอยู่ที่นั่นฉันไม่รู้จะทำอะไรอีก
โพสต์ที่ดีฉันเคยได้ยินบางเรื่องที่ผ่านมา แต่ฉันไม่รู้จริงๆว่ามันใช้อย่างไรแน่นอนว่าฉันไม่เคยต้องการมันและนั่นคือเหตุผลที่ฉันไม่ได้อ่านบางอย่างเป็นพิเศษ ตอนนี้โพสต์ของคุณอธิบายไว้อย่างชัดเจนแล้วฉันรู้วิธีใช้ในกรณีนี้
ขอบคุณมากและโดยทาง Led Zeppelin ที่มีอายุยืนยาวฮิฮิ
ขอบคุณในที่สุดฉันก็หลุดพ้นจากฝันร้ายของการช่วยเหลือด้วง
อันที่จริงฉันทำตามขั้นตอนทั้งหมดยกเว้น umount / mnt / my_linux เพราะมันบอกฉันว่ามันไม่ว่างและฉันฟิวเซอร์มัน -km แต่ไม่ถึงขนาดนั้นและเด้ง ...
หวังว่าคงไม่สำคัญ….
ขอบคุณอีกครั้ง…
อวยพร
แม้ว่าบทความนี้จะมีอายุได้สองสามปีแล้ว แต่ฉันก็อยากจะขอบคุณผู้เขียนสำหรับความเอื้อเฟื้อในการแบ่งปันบทความนี้เป็นบทความที่ยอดเยี่ยมเพราะสุดสัปดาห์นี้ได้ช่วยชีวิตฉัน โดยไม่สมัครใจฉันโหลดเซิร์ฟเวอร์ที่ติดตั้งแพ็กเกจและเมื่อรีสตาร์ทเซิร์ฟเวอร์ไม่โหลด หลังจากพยายามแก้ไขและอ่านบทความต่างๆมาสามวันฉันก็มาถึงที่นี่ได้โดยบังเอิญและในที่สุดก็สามารถติดตั้งด้วงและแก้ไขเซิร์ฟเวอร์ได้
ขอบคุณมาก !!!
ฉันดีใจที่ช่วยคุณได้ ขอบคุณสำหรับความคิดเห็น!
สวัสดีฉันรู้ว่าโพสต์นี้เมื่อหลายปีก่อนขอบคุณมากสำหรับการแบ่งปัน และฉันมีข้อสงสัยในกรณีของฉันมันทำให้ระบบเสียหายและไดรเวอร์เครือข่ายดังนั้นฉันจึงทำตามขั้นตอน แต่ไม่อนุญาตให้ฉันดาวน์โหลดแพ็คเกจมีวิธีใดในการเชื่อมโยงเครือข่ายสดกับเทอร์มินัล
ฉันไม่เข้าใจปัญหาของคุณจริงๆ…เมื่อคุณเข้าสู่ระบบด้วย LiveCD เคอร์เนลที่โหลดเป็นเคอร์เนลจาก LiveCD ดังนั้นคุณควรกำหนดค่าการเชื่อมต่ออินเทอร์เน็ตได้อย่างสมบูรณ์แบบ เมื่อทำการเชื่อมต่อแล้วให้ลองทำ chroot เพื่อดูว่าคุณยังคงรักษาไว้หรือไม่ถ้าไม่คุณอาจต้องกำหนดค่าอีกครั้ง แต่เคอร์เนลที่เสียหายไม่ควรส่งผลต่อเซสชัน chroot
ถ้าไม่ระบุเพิ่มเติมบอกได้เลยครับ ...
โพสต์ที่ยอดเยี่ยม ... หนึ่งในบทความที่มีประโยชน์ไม่กี่บทความที่พบบนอินเทอร์เน็ต
ขอบคุณมากสำหรับการสนับสนุน
สวัสดีกวดวิชาที่ยอดเยี่ยม! อธิบายได้ดีมาก สำหรับเราปุถุชน!
ผมมีคำถาม:
เมื่อคุณกล่าวว่าในกรณีที่จำเป็นต้องติดตั้งแพ็คเกจ ดำเนินการอัปเดตระบบหรือกิจกรรมพิเศษอื่น ๆ และจำเป็นต้องติดตั้งโฟลเดอร์ / dev / proc และ / sys ฉันไม่ชัดเจนหากโฟลเดอร์เหล่านี้อยู่ในระบบ Live ที่เรา เริ่มต้นอุปกรณ์ที่จะซ่อมแซมหรือหากอยู่ในพาร์ติชั่นรูทที่ติดตั้งก่อน
ขอขอบคุณ
ขอบคุณมาก!!!!