カテゴリー別アーカイブ: Computer

Ubuntu kernel


Ubuntu でカーネルに問題があるために起動できなくなった時の対処法です。

Live CDからUbuntuを起動します。Try Ubuntu without installingを選択します。端末(Terminal)を開きます。

sudo mount /dev/sdXX /mnt

を実行します。sdXXは対応するドライブを指定します。

sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot /mnt
cp /etc/resolv.conf /mnt/etc/resolv.conf
apt-get install linux-image-generic

を実行します。以下のエラーメッセージが表示される場合があります。

ImportError: No module named gi

sudo nano /usr/bin/gnome-tweak-tool

を実行します。

exit
sudo umount /mnt/sys
sudo umount /mnt/proc
sudo umount /mnt/dev
sudo umount /mnt
sudo reboot

http://askubuntu.com/questions/28099/how-to-restore-a-system-after-accidentally-removing-all-kernels

http://askubuntu.com/questions/80448/what-would-cause-the-gi-module-to-be-missing-from-python

広告

マルウェア検出


マルウェアを検出して除去しました。

BrowserModifier:Win32/Diplugem

Multiplug: C:\ProgramData\gioknhkjhdkenicdgggckjfohfibkogp
Multiplug: C:\ProgramData\gioknhkjhdkenicdgggckjfohfibkogp\background.html
Multiplug: C:\ProgramData\gioknhkjhdkenicdgggckjfohfibkogp\content.js
Multiplug: C:\ProgramData\gioknhkjhdkenicdgggckjfohfibkogp\GsY.js
Multiplug: C:\ProgramData\gioknhkjhdkenicdgggckjfohfibkogp\lsdb.js
Multiplug: C:\ProgramData\gioknhkjhdkenicdgggckjfohfibkogp\manifest.json
Multiplug: C:\ProgramData\ibckoadhmobidmamoalihmlghcfienpc
Multiplug: C:\ProgramData\ibckoadhmobidmamoalihmlghcfienpc\background.html
Multiplug: C:\ProgramData\ibckoadhmobidmamoalihmlghcfienpc\content.js
Multiplug: C:\ProgramData\ibckoadhmobidmamoalihmlghcfienpc\lsdb.js
Multiplug: C:\ProgramData\ibckoadhmobidmamoalihmlghcfienpc\manifest.json
Multiplug: C:\ProgramData\ibckoadhmobidmamoalihmlghcfienpc\zBieF.js

コントロールパネルの項目


アプリケーションをアンインストールした際にコントロールパネルにアイコンが残ったままになった時の対処法です

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel\NameSpace\{GUID} を参照します。(既定)の値を参照して該当する項目を見つけて削除します。

FSCTL_GET_VOLUME_BITMAP


When they specify the FSCTL_GET_VOLUME_BITMAP to DeviceIoControl function, The value 0 is returned. Also ERROR_INVALID_FUNCTION(1) is returned by GetLastError().

When they specify the GENERIC_READ to dwDesiredAccess of CreateFileW, it can not get the HANDLE.


DeviceIoControl に FSCTL_GET_VOLUME_BITMAP を指定すると 戻り値が0になり、GetLastError()が ERROR_INVALID_FUNCTION (1)を返します

CreateFileW の dwDesiredAccess に対して GENERIC_READ を指定すると HANDLE を取得できない。

Windows 10 x64で発生しています。

サービス インストーラーの作成


サービス アプリケーションにインストーラーを追加する

Visual Studio 2015 に Microsoft Visual Studio 2015 Installer Projects を追加します。

  • Windows サービス プロジェクトを作成します。
  • ソリューションエクスプローラー の 新しいプロジェクト – その他のプロジェクト – Visual Studio Installer – Setup Project を選択して追加します。
  • インストーラーを追加します。
  • ソリューションエクスプローラー ProjectInstaller を選択、ビューデザインを選択します。
  • serviceInstaller1 を選択します。Descriptionにサービスの説明、DisplayName に サービスの表示名、ServiceNameにサービスの名前を入力します。管理ツールでサービスを起動させたとき、DisplayName が一覧に表示されます。また sc query [ServiceName]となります。StartType は [Automatic – 自動], [Manual – 手動], [Disabled – 無効]に対応します。DelayedAutoStart を True に設定すると 自動遅延 になります。
  • serviceInstaller1 を選択します。Account 項目を設定ます。
  • セットアッププロジェクトを選択して、Add – プロジェクト出力 – プライマリ出力を選択します。
  • ソリューションをビルドします。セットアッププロジェクトを選択して、「インストール」、「アンインストール」を行って正しく動作するか確認します。

RC4


Visual Studio


Visual Studio Community 2015, Visual Studio Community 2013 Update 5、いずれも問題なくインストールできました。

Protected mode


Intel Core 2 Duo で CR0.PE = 1 に設定するとコードを正しく実行できない

プロテクトモードに移行すると、QEMU では 画面が点滅します。実機ではリセットを繰り返します。

GDTは設定していますが、何かほかに設定する必要があるのかもしれません。

こちらのブログを参考にしています。

When I set to “CR0.PE = 1” in the Intel Core 2 duo, the following code can not be executed correctly.

When I run it in QEMU, it will blink. Also, when I run on my PC in without emulator, the system will repeat the reset.

QEMU について


Windows のコマンドプロンプトで %ProgramFiles%\qemu\qemu-system-i386.exe filename -monitor stdio を実行します。

qemu の ウィンドウが開きます。コマンドプロンプトのほうはキーを押しても何も表示されませんが、入力を受け付けています。info registers と入力してEnterキーを押します。%ProgramFiles%\qemu\stdout.txt にレジスターの状態が書き込まれます。

q と入力してEnterキーを押します。qemuが終了します。

InstallShiled Limited Edtion で Windows サービス のインストーラーを作成


InstallShiled Limited Edtion で Windows サービス のインストーラーを作成する手順です。

  1. InstallShiled Limited Edtion Project を追加します。ソリューションエクスプローラで Project Assistant の Application Files を選択します。Add Project Outputs をクリックして プライマリ出力をチェックします。
  2. 2.Specify Application Data の Files を選択して Destrination computer’s files の (ProjectName).プライマリ出力 を右クリックします。Properties を選択して COM & .NET Settings タブの Installer Class をチェックします。

次のいずれかの作業を行います。


3.Configure The Target System の Services を選択します。Services を右クリックして Add Service を選択します。ProgramFilesFolder – (ProjectFolder) – My Project Name – (ProjectName).プライマリ出力 を選択します。各項目を設定ます。Local System アカウントの場合は User Name を空欄のままにします。


Windows Service プロジェクトに インストーラークラス を追加します。次のようなコードを InitializeComponent(); の下に追加します。


            ServiceInstaller si = new ServiceInstaller();
            ServiceProcessInstaller sp = new ServiceProcessInstaller();
            sp.Account = ServiceAccount.LocalSystem;
            this.Installers.Add(sp);

            si.StartType = ServiceStartMode.Automatic;
            si.ServiceName = "";
            si.DisplayName = "";
            si.Description = "";
            // si.DelayedAutoStart = true;

app.config


app.config を編集すると、

要素 ‘supportedRuntime’ のスキーマ情報が見つかりませんでした。
Could not find schema information for the element ‘supportedRuntime’. が表示されます。

C:\Program Files (x86)\Microsoft Visual Studio 12.0\Xml\Schemas\ フォルダーの DotNetConfig40.xsd ,DotNetConfig45.xsd の記述から 対象のフレームワークを .NET Framework 4.5 より古いバージョンに設定した場合に発生します。supportedRuntime 要素を削除します。


iOS 8


iOS 7.1.2 から iOS 8 にアップデートしましたが、特に問題は発生しませんでした。2014年9月18日 午前6時ごろに実行しましたが、公開直後ということもありダウンロードに1時間ほど要しました。


[2014-09-26] iOS 8.0.2 にアップデートしましたが、問題は発生していません。iOS 8.0.1, iOS 8.0.2 は一部の環境で ネットワークに接続できなくなる不具合が報告されています。

TextBox のイベント


Windows 8.1 x64 update 3 RC, Windows Store Apps (C++/CX) で TextBox を複数追加して KeyDown イベントを追加します。

Xaml に KeyDown 属性を使用して KeyDown イベントを追加します。
private TextBox TextBox1;
private TextBox TextBox2;

MainPage::MainPage()
{
InitializeComponent();
}

void MainPage::KeyDown_1(Platform::Object^ sender, Windows::UI::Xaml::Input::KeyRoutedEventArgs^ e)
{
if (e->Key == Windows::System::VirtualKey::Enter)
{
// …
TextBox2->Focus(Windows::UI::Xaml::FocusState::Programmatic);
TextBox2->SelectAll();
}
}
void MainPage::KeyDown_2(Platform::Object^ sender, Windows::UI::Xaml::Input::KeyRoutedEventArgs^ e)
{
if (e->Key == Windows::System::VirtualKey::Enter)
{
// …
}
}

このコードを実行して TextBox1 で Enter キーを押すと、KeyDown_1 イベントに続いて KeyDown_2 イベントも発生します。TextBox.SelectAll() メソッドを実行するとこの現象が発生します。

TextBox1->KeyDown += ref new Windows::UI::Xaml::Input::KeyEventHandler(this, &MainPage::TextBox1_KeyDown); のようにプログラムの中で KeyDown イベントを追加した場合はこの問題は発生しません。

Inline クラスについて


WPF (RichTextBox の FlowDocument), Windows 8 Store app (RichTextBlock) の Inline クラスについて

[C#]

Paragraph paragraph = new Paragraph();
Run run = new Run();
run.Text = "テキスト";
paragraph.Inlines.Add(run);

RichTextBlock の Blocks プロパティー、またはRichTextBox.Document.Blocks プロパティー に Add メソッドで paragraph を追加します。


Blocks プロパティーの インデクサー[0] 等で 先頭の 項目 (先ほど追加した Paragraph クラス) を読み取ります。

Internet Explorer の脆弱性