저는 커널 개발을 시작하고 싶었고 첫 번째 실제 단계는 분명히 Linux 커널을 실행하고 개발하는 것이었습니다.
제 생각에 가장 좋은 해결책은 Linux를 일일 드라이버와 커널 개발 환경/테스트 베드로 사용하여 Windows와 Linux를 듀얼 부팅하는 것입니다. Windows를 백업 옵션으로 유지하고 마지막으로 이 설정을 실행했을 때 비디오 드라이버를 설치하려고 할 때 어떻게 Linux 시스템이 손상되었는지 살펴보겠습니다. Windows에서 Linux를 실행하지 않기 때문에 두 가지를 모두 실행할 만큼 처리 능력이 충분한지 확실하지 않습니다. 특히 Linux에서 IDE를 사용하려는 경우...
이 설정에 대한 내 질문은 다음과 같습니다.
제가 근본적인 질문을 놓치고 있는 걸까요? 문제가 발생하면 Linux가 Windows 시스템을 손상시킬 수 있습니까? 나는 커널의 편집된 버전을 직접 실행할 예정인데, 특히 불안정한 변경으로 인해 디스크가 손상될 수 있다는 우려가 있지만 이것이 관련된 문제인지는 모르겠습니다.
동일한 장치에서 Linux 시스템을 복원하기 위한 Windows 기본 도구가 있습니까?
그렇지 않은 경우 복구 목적으로 동시에 실행 중인 세 번째 운영 체제가 있는 경우 복구에 사용할 수 있는 Linux 도구는 무엇입니까?
편집: 배경 지식으로는 CS 학위(IPC 커널 모듈이 포함된 OS 과정 포함)가 있지만 맬웨어 분석/RE를 수행하고 있으며 개발을 시작하고 싶습니다. 메인라인 커널 개발이 경쟁 기회 우위를 제공할 것입니다. . 정확성/최적화가 비즈니스 문제로 처리되는 낮은 수준의 작업에 대해 알아보고 싶습니다. 보안/속도/효율성/멀티스레딩/멀티프로세싱 또는 낮은 수준의 경험/열정을 적용할 수 있는 다른 형태의 최적화.
답변1
Windows 및 Linux와 같은 다양한 운영 체제를 "결합"할 때 다양한 가능성에 대해 약간 혼란스러울 수도 있습니다.
"이중 부팅" 또는 "멀티부팅"은 동일한 운영 체제의 다른 버전으로만 부팅하더라도 귀하와 다른 많은 사람들에게 필요한 것입니다.
가상 머신을 사용하는 것이 합리적이지만 나중에 많은 새로운 커널과 모듈을 테스트하기 시작할 때만 가능합니다. 안정적인 Linux로 부팅한 다음 동시에 하나 이상의 테스트 빌드로 가상 부팅할 수 있습니다.
그러나 첫 번째 문제는 실행 중인 Windows를 다른 설치와 분리하거나 그 반대로 분리하는 것입니다.
두 번째 디스크도 필요하지 않지만 최소한 몇 GB의 여유 파티션이 필요합니다.
"(멀티)부팅", "부트 로더"(grub) 및 "파티션"은 Wikipedia에서 가장 먼저 검색한 다음 UEFI와 같은 것이 있는지 여부에 따라 계획을 세울 수 있습니다.
시스템에 두 번째 운영 체제를 설치해야 하고 새 부트로더를 설치해야 하면 많은 문제가 발생할 수 있습니다. 그러나 일단 "grub"이 작동하기 시작하면 Linux 및 Windows 간섭에 대해 걱정할 필요가 없습니다.
이는 파티셔닝의 주요 아이디어 중 하나입니다.분리블록 장치. 커널 패닉과 파일 시스템 손상은 마운트된 파티션에서만 발생합니다. (너할 수 있는또한 Windows 파티션을 마운트하지만 사용하지 않습니다. ).
"복구"는 기본적으로 부트로더를 복구하기 위해 부팅 가능한 USB 드라이브를 준비하는 것을 의미합니다.
"그렇지 않은 경우 복구 목적으로 동시에 실행 중인 세 번째 운영 체제가 있는 경우 어떤 Linux 도구를 복구에 사용할 수 있습니까?"
무슨 뜻이에요? 일반적으로(가상 머신 외부) 운영 체제는 차례로 실행됩니다.
부팅 가능한 USB는 복구 목적을 위한 "세 번째 운영 체제"이자 Linux(또는 Windows) 도구입니다.
답변2
가상화는 충분히 빠른가요?
귀하의 컴퓨터는 얼마나 오래되었으며 어떤 프로세서를 갖추고 있습니까? : 가상화(예: 가상 상자는 성능을 크게 저하시키지 않습니다). 지난 10~20년 동안 제조된 거의 모든 프로세서에는 하드웨어 지원이 포함됩니다.
Virtual Box에 대한 내 경험에 따르면 Virtual Box의 Gnu/Linux는 Microsoft Windows보다 빠릅니다. 하드웨어 지원이 없는 구형 CPU에서도(다중 코어가 필요한 작업을 수행하지 않는 한: 다중 코어에 대한 하드웨어 지원이 필요합니다.)
이중 부팅의 위험성
예, 이중 부팅은 다른 운영 체제에서 문제를 일으킬 수 있습니다. 특히 커널을 다루는 경우에는 더욱 그렇습니다.
리눅스는 무엇이고 리눅스는 무엇인가
무엇이 무엇인지 아시나요?
- 전체 운영 체제는 Gnu/Linux(Linux라는 커널과 운영 체제의 Gnu 비커널 부분)입니다. 그러나 사람들은 일반적으로 전체 시스템을 Linux라고 부릅니다. 이는 많은 혼란을 초래할 수 있습니다.
- 커널은 가운데에 있는 작은 부분입니다(실제로는 맨 아래에 있지만 이름은 가운데를 의미합니다). 이것이 가장 어려운 부분입니다. C로 프로그래밍해야 하며 실수로 인해 컴퓨터가 충돌하고 부팅이 중단되며 하드 드라이브의 내용이 왜곡될 수 있습니다.
결론
가상 머신에 Gnu/Linux를 설치하는 것이 좋습니다. 그것을 사용하고, 명령줄(쉘)을 배우고, 기본 쉘 스크립트 작성을 배우고, 초보자에게 좋은 언어를 배우고(파이썬은 꽤 좋습니다), 다른 것을 배우고, C를 배우고 사용자 모드 프로그램을 작성하고, 커널 학습을 시작하고, 변경하고 테스트해 보세요.