기본 콘텐츠로 건너뛰기

Recovery GRUB on Kubuntu(Ubuntu)

Kubuntu(Ubuntu) 가 설치된 PC 에 Windows 7 을 설치하게되면, 독점적으로 Windows 7 을 MBR 을 Windows 의 것으로 대체시킨다.
이때 다음과 같이 조치한다.
1. Booting 가능한 Kubuntu CD 혹은 Live Desktop CD 로 부팅한다. (부팅 메뉴에서 설치하지 않고 Kubuntu 실행해 보기 와 같은 내용의 메뉴로 진입한다.)
2. Booting 이 완료된 후, Terminal 창을 띄운다.
#sudo -i
#fdisk -l
Disk Partition 정보가 보일 것이다. 여기에서 System 열에 Linux 혹은 ext2 로 보이는 줄의 Device 명을 확인한다. 즉, Linux 가 설치된 Partition 이다. 여기서는 /dev/sda3 로 예를든다.
3. Kubuntu 설치된 Partition 을 Mount 할 Directory 를 생성한다.
#mkdir /media/rootdsk
4.Mount 시킨다.
#mount /dev/sda3 /media/rootdsk
5. GRUB 를 해당 Partition 에 설치한다.
# grub-install --root-directory=/media/rootdsk /dev/sda
(참고) 경고가 뜨면,
# grub-install --root-directory=/media/rootdsk /dev/sda --recheck

6. 설치가 완료되면,
Installation finished. No error reported 라로 표시된다.


다음은 기존에 Windows XP 가 설치되었었는데 Windows 7 으로 Upgrade 한 이후 발생할 수 있는 문제점이다.
GRUB 복구는 위와 같이 수행한다.
복구를 정상적으로 하고 Windows 으로 Booting 하면, Unknown device... 라고 메세지가 뜨면서 부팅할 것이다.
이럴 경우, Linux 로 부팅하여 Terminal 을 띄우고,

update-grub 를 수행하여 GRUB Configuration File 을 새로 고쳐주어야 한다.

/etc/grub.d$ sudo update-grub
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.32-22-generic
Found initrd image: /boot/initrd.img-2.6.32-22-generic
Found linux image: /boot/vmlinuz-2.6.32-21-generic
Found initrd image: /boot/initrd.img-2.6.32-21-generic
Found memtest86+ image: /boot/memtest86+.bin
Found Windows Vista (loader) on /dev/sda1
Found Windows 7 (loader) on /dev/sda2
done


원인은 Windows 새로 설치되면서 uuid 값이 변경되어 발생된 문제이다.
#more /boot/grub/grub.cfg
<중략>
menuentry "Windows 7 (loader) (on /dev/sda2)" {
insmod ntfs
set root='(hd0,2)'
search --no-floppy --fs-uuid --set 3638b69338b6521b
chainloader +1
}
위의 굵게표시된 16진수 값이 갱신된 것을 알 수 있을 것이다. 예제에 나와있는 값을 그대로 입력하면 안된다. 자동적으로 갱신된다.
이렇게 한 이후, Windows 로 부팅하면 Error 메세지가 보이지 않을 것이다.

댓글

이 블로그의 인기 게시물

Ubuntu (Kubuntu) 에 desktop 파일 만들기

Package 관리자등을 통해 직접 Repository 에 있는 Application 을 설치하는 경우에는 필요한 경로와 파일, Category 로 분류된 Icon 등록 등이 자동적으로 이루어지나 firefox, eclipse 등 새로운 버전을 새로 설치할 경우, 다음과 같은 절차를 통해 시작메뉴에 등록시킬 수 있다. 다음은 eclipse-SDK-3.6-linuxx-gtk.tar.gz 을 받아 설치 등록하는 것을 예로 든다. 1. 다운받은 파일을 /usr/lib에 압축해제한다. (물론, super user 계정으로 실행해야 한다.) 2. 보통의 경우, /usr/bin Directory 는 PATH 에 물려 있으므로 다음과 같은 실행 파일을 만들어 놓는다. # cd /usr/lib # chmod +x eclipse # cd /usr/bin # sudo nano eclipse eclipse 파일에는 아래의 내용을 입력하여 넣는다. export ECLIPSE_HOME="/usr/lib/eclipse" $ECLIPSE_HOME/eclipse $ * # sudo chmod 755 eclipse 3. Desktop Menu 에 추가하려면 # cd /usr/share/applications # sudo nano eclipse.desktop [Desktop Entry] Encoding=UTF-8 Name=Eclipse Comment=Eclipse IDE Exec=eclipse Icon=/usr/lib/eclipse/icon.xpm Terminal=false Type=Application Categories=GNOME;Application;Development' StartupNotify=true 이렇게 입력한 파일을 저장하면, 시작메뉴 > 개발 > Eclipse 아이콘이 생성되어 메뉴에서 직접 실행할 수 있게된다.

STM32CubeIDE 한글 주석 깨짐 문제 해결

STM32CubeIDE 는 JAVA로 프로그램된 eClipse CDT 프레임워크 기반으로 제작된 소프트웨어 이다. 아래의 내용은 STM32CubeIDE 개발 환경에서,  시스템 환경을 변경하기 위해  Pinout 등을 수정하여  Device Configuration Tool Code Generation (IOC File) 을 수행하면 수정된 코드가 자동 생성된다. 이 때, 소스 상의 한글 주석이 깨지는 문제점을 해결하는 방법이다. JAVA의 File Encoding 문제이며, 나는 소스파일을 UTF-8로 encoding 하도록 수정하였다. 다음의 순서로 진행한다. 1. 메뉴 Window > Preferences > Workspace - 하단의 Text file encoding을 Other 리스트 중에서 UTF-8을 선택한다. - Apply and Close 한다. 2. 탐색기 > 내 PC > 마우스 우측 클릭 > 팝업 메뉴에서 "속성" > 고급 시스템 설정 - 시스템 속성 창이 뜨면 "고급" 탭 하단의 "환경 변수" 클릭 - 사용자 변수에 "새로 만들기" 버튼을 눌러 변수 이름 : JAVA_TOOL_OPTIONS 변수 값 : -Dfile.encoding=UTF-8

ubuntu 또는 kubuntu 에서 Sun Java JDK 1.6 설치

1. 인터넷 브라우저를 열어, SDN Home 의 Download Center 에서 Download Java SE Development Kit 6u21 for Linux, Multi-language 를 실행한다. 2. jdk-6u21-linux-i586.bin 이 저장되면, 3. 터미널 창을 열어 다음을 실행한다. 4. 압축파일이 저장된 Directory 로 이동한다. snjee@snjee-kubuntu:~$ cd setupapps snjee@snjee-kubuntu:~$ sudo mv jdk-6u21-linux-i586.bin /usr/local/ snjee@snjee-kubuntu:~$ sudo chmod a+x /usr/local/jdk-6u21-linux-i586.bin snjee@snjee-kubuntu:~$ sudo ./jdk-6u21-linux-i586.bin [아래는 압축이 풀리고 마지막에 표시되는 Comment 부분이다.] Product Registration is FREE and includes many benefits: * Notification of new versions, patches, and updates * Special offers on Sun products, services and training * Access to early releases and documentation Product and system data will be collected. If your configuration supports a browser, the Sun Product Registration form for the JDK will be presented. If you do not register, none of this information will be saved. You may also register your JDK later by opening the register.html file (l...